bergquist 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
..
.gitignore 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
LICENSE 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
README.markdown 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
all_of.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
any.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
any_of.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
contains.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
deep_equals.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
elements_are.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
equals.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
error.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
greater_or_equal.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
greater_than.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
has_substr.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
identical_to.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
less_or_equal.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
less_than.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
matcher.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
matches_regexp.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
not.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
oglematchers.goconvey 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
panics.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
pointee.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago
transform_description.go 6253476c73 tech(build): move dependencies to vendor folder 9 years ago

README.markdown

oglematchers is a package for the Go programming language containing a set of matchers, useful in a testing or mocking framework, inspired by and mostly compatible with Google Test for C++ and Google JS Test. The package is used by the ogletest testing framework and oglemock mocking framework, which may be more directly useful to you, but can be generically used elsewhere as well.

A "matcher" is simply an object with a Matches method defining a set of golang values matched by the matcher, and a Description method describing that set. For example, here are some matchers:

// Numbers
Equals(17.13)
LessThan(19)

// Strings
Equals("taco")
HasSubstr("burrito")
MatchesRegex("t.*o")

// Combining matchers
AnyOf(LessThan(17), GreaterThan(19))

There are lots more; see here for a reference. You can also add your own simply by implementing the oglematchers.Matcher interface.

Installation

First, make sure you have installed Go 1.0.2 or newer. See here for instructions.

Use the following command to install oglematchers and keep it up to date:

go get -u github.com/smartystreets/goconvey/convey/assertions/oglematchers

Documentation

See here for documentation hosted on GoPkgDoc. Alternatively, you can install the package and then use go doc:

go doc github.com/smartystreets/goconvey/convey/assertions/oglematchers