// 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 { message := fmt.Sprintf( shouldHaveResembled, expected[0], expected[0], actual, actual, ) return serializer.serialize( expected[0], actual, message) } 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 { expectedSyntax := fmt.Sprintf("%#v", expected[0]) actualSyntax := fmt.Sprintf("%#v", actual) var message string if expectedSyntax == actualSyntax { message = fmt.Sprintf(shouldHaveResembledTypeMismatch, expected[0], actual, expected[0], actual) } else { message = fmt.Sprintf(shouldHaveResembled, expected[0], actual) } return serializer.serializeDetailed(expected[0], actual, message) } return success }