// ShouldNotResemble receives exactly two parameters and does an inverse deep equal check (see reflect.DeepEqual) func ShouldNotResemble(actual interface{}, expected ...interface{}) string { if message := need(1, expected); message != success { return message } else if ShouldResemble(actual, expected[0]) == success { return fmt.Sprintf(shouldNotHaveResembled, render.Render(actual), render.Render(expected[0])) } return success }
// ShouldResemble receives exactly two parameters and does a deep equal check (see reflect.DeepEqual) func ShouldResemble(actual interface{}, expected ...interface{}) string { if message := need(1, expected); message != success { return message } if matchError := oglematchers.DeepEquals(expected[0]).Matches(actual); matchError != nil { return serializer.serializeDetailed(expected[0], actual, fmt.Sprintf(shouldHaveResembled, render.Render(expected[0]), render.Render(actual))) } return success }
func (self *failureSerializer) serializeDetailed(expected, actual interface{}, message string) string { view := FailureView{ Message: message, Expected: render.Render(expected), Actual: render.Render(actual), } serialized, err := json.Marshal(view) if err != nil { return message } return string(serialized) }