bergquist 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
..
.gitignore 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
LICENSE 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
README.markdown 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
all_of.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
any.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
any_of.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
contains.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
deep_equals.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
elements_are.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
equals.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
error.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
greater_or_equal.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
greater_than.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
has_substr.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
identical_to.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
less_or_equal.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
less_than.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
matcher.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
matches_regexp.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
not.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
oglematchers.goconvey 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
panics.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
pointee.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos
transform_description.go 6253476c73 tech(build): move dependencies to vendor folder %!s(int64=9) %!d(string=hai) anos

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