| package matchers |
| |
| import ( |
| "github.com/onsi/gomega/internal/oraclematcher" |
| "github.com/onsi/gomega/types" |
| ) |
| |
| type NotMatcher struct { |
| Matcher types.GomegaMatcher |
| } |
| |
| func (m *NotMatcher) Match(actual interface{}) (bool, error) { |
| success, err := m.Matcher.Match(actual) |
| if err != nil { |
| return false, err |
| } |
| return !success, nil |
| } |
| |
| func (m *NotMatcher) FailureMessage(actual interface{}) (message string) { |
| return m.Matcher.NegatedFailureMessage(actual) // works beautifully |
| } |
| |
| func (m *NotMatcher) NegatedFailureMessage(actual interface{}) (message string) { |
| return m.Matcher.FailureMessage(actual) // works beautifully |
| } |
| |
| func (m *NotMatcher) MatchMayChangeInTheFuture(actual interface{}) bool { |
| return oraclematcher.MatchMayChangeInTheFuture(m.Matcher, actual) // just return m.Matcher's value |
| } |