Equal asserts that two objects are equal. assert.Equal(t, 123, 123) Pointer variable equality is determined based on the equality of the referenced values (as opposed to the memory addresses). Function equality cannot be determined and will always fail.
(t TestingT, expected, actual interface{}, msgAndArgs ...interface{})
| 493 | // referenced values (as opposed to the memory addresses). Function equality |
| 494 | // cannot be determined and will always fail. |
| 495 | func Equal(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool { |
| 496 | if h, ok := t.(tHelper); ok { |
| 497 | h.Helper() |
| 498 | } |
| 499 | if err := validateEqualArgs(expected, actual); err != nil { |
| 500 | return Fail(t, fmt.Sprintf("Invalid operation: %#v == %#v (%s)", |
| 501 | expected, actual, err), msgAndArgs...) |
| 502 | } |
| 503 | |
| 504 | if !ObjectsAreEqual(expected, actual) { |
| 505 | diff := diff(expected, actual) |
| 506 | expected, actual = formatUnequalValues(expected, actual) |
| 507 | return Fail(t, fmt.Sprintf("Not equal: \n"+ |
| 508 | "expected: %s\n"+ |
| 509 | "actual : %s%s", expected, actual, diff), msgAndArgs...) |
| 510 | } |
| 511 | |
| 512 | return true |
| 513 | } |
| 514 | |
| 515 | // validateEqualArgs checks whether provided arguments can be safely used in the |
| 516 | // Equal/NotEqual functions. |