mirror of https://github.com/stretchr/testify.git
Add comments for Equal and NotEqual to clarify pointer comparison
Clarify that pointer equality is determined by equality of values rather than memory address. Fixes #358pull/371/head
parent
18a02ba4a3
commit
3928f579ee
|
@ -43,6 +43,9 @@ func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) bool {
|
||||||
// a.Equal(123, 123, "123 and 123 should be equal")
|
// a.Equal(123, 123, "123 and 123 should be equal")
|
||||||
//
|
//
|
||||||
// Returns whether the assertion was successful (true) or not (false).
|
// Returns whether the assertion was successful (true) or not (false).
|
||||||
|
//
|
||||||
|
// Pointer variable equality is determined based on the equality of the
|
||||||
|
// referenced values (as opposed to the memory addresses).
|
||||||
func (a *Assertions) Equal(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {
|
func (a *Assertions) Equal(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {
|
||||||
return Equal(a.t, expected, actual, msgAndArgs...)
|
return Equal(a.t, expected, actual, msgAndArgs...)
|
||||||
}
|
}
|
||||||
|
@ -262,6 +265,9 @@ func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) boo
|
||||||
// a.NotEqual(obj1, obj2, "two objects shouldn't be equal")
|
// a.NotEqual(obj1, obj2, "two objects shouldn't be equal")
|
||||||
//
|
//
|
||||||
// Returns whether the assertion was successful (true) or not (false).
|
// Returns whether the assertion was successful (true) or not (false).
|
||||||
|
//
|
||||||
|
// Pointer variable equality is determined based on the equality of the
|
||||||
|
// referenced values (as opposed to the memory addresses).
|
||||||
func (a *Assertions) NotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {
|
func (a *Assertions) NotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {
|
||||||
return NotEqual(a.t, expected, actual, msgAndArgs...)
|
return NotEqual(a.t, expected, actual, msgAndArgs...)
|
||||||
}
|
}
|
||||||
|
|
|
@ -270,6 +270,9 @@ func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs
|
||||||
// assert.Equal(t, 123, 123, "123 and 123 should be equal")
|
// assert.Equal(t, 123, 123, "123 and 123 should be equal")
|
||||||
//
|
//
|
||||||
// Returns whether the assertion was successful (true) or not (false).
|
// Returns whether the assertion was successful (true) or not (false).
|
||||||
|
//
|
||||||
|
// Pointer variable equality is determined based on the equality of the
|
||||||
|
// referenced values (as opposed to the memory addresses).
|
||||||
func Equal(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {
|
func Equal(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {
|
||||||
|
|
||||||
if !ObjectsAreEqual(expected, actual) {
|
if !ObjectsAreEqual(expected, actual) {
|
||||||
|
@ -556,6 +559,9 @@ func False(t TestingT, value bool, msgAndArgs ...interface{}) bool {
|
||||||
// assert.NotEqual(t, obj1, obj2, "two objects shouldn't be equal")
|
// assert.NotEqual(t, obj1, obj2, "two objects shouldn't be equal")
|
||||||
//
|
//
|
||||||
// Returns whether the assertion was successful (true) or not (false).
|
// Returns whether the assertion was successful (true) or not (false).
|
||||||
|
//
|
||||||
|
// Pointer variable equality is determined based on the equality of the
|
||||||
|
// referenced values (as opposed to the memory addresses).
|
||||||
func NotEqual(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {
|
func NotEqual(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) bool {
|
||||||
|
|
||||||
if ObjectsAreEqual(expected, actual) {
|
if ObjectsAreEqual(expected, actual) {
|
||||||
|
|
|
@ -192,7 +192,9 @@ func TestEqual(t *testing.T) {
|
||||||
if !Equal(mockT, uint64(123), uint64(123)) {
|
if !Equal(mockT, uint64(123), uint64(123)) {
|
||||||
t.Error("Equal should return true")
|
t.Error("Equal should return true")
|
||||||
}
|
}
|
||||||
|
if !Equal(mockT, &struct{}{}, &struct{}{}) {
|
||||||
|
t.Error("Equal should return true (pointer equality is based on equality of underlying value)")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestFormatUnequalValues(t *testing.T) {
|
func TestFormatUnequalValues(t *testing.T) {
|
||||||
|
@ -343,6 +345,9 @@ func TestNotEqual(t *testing.T) {
|
||||||
if NotEqual(mockT, new(AssertionTesterConformingObject), new(AssertionTesterConformingObject)) {
|
if NotEqual(mockT, new(AssertionTesterConformingObject), new(AssertionTesterConformingObject)) {
|
||||||
t.Error("NotEqual should return false")
|
t.Error("NotEqual should return false")
|
||||||
}
|
}
|
||||||
|
if NotEqual(mockT, &struct{}{}, &struct{}{}) {
|
||||||
|
t.Error("NotEqual should return false")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type A struct {
|
type A struct {
|
||||||
|
|
|
@ -50,6 +50,9 @@ func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) {
|
||||||
// assert.Equal(t, 123, 123, "123 and 123 should be equal")
|
// assert.Equal(t, 123, 123, "123 and 123 should be equal")
|
||||||
//
|
//
|
||||||
// Returns whether the assertion was successful (true) or not (false).
|
// Returns whether the assertion was successful (true) or not (false).
|
||||||
|
//
|
||||||
|
// Pointer variable equality is determined based on the equality of the
|
||||||
|
// referenced values (as opposed to the memory addresses).
|
||||||
func Equal(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) {
|
func Equal(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) {
|
||||||
if !assert.Equal(t, expected, actual, msgAndArgs...) {
|
if !assert.Equal(t, expected, actual, msgAndArgs...) {
|
||||||
t.FailNow()
|
t.FailNow()
|
||||||
|
@ -319,6 +322,9 @@ func NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) {
|
||||||
// assert.NotEqual(t, obj1, obj2, "two objects shouldn't be equal")
|
// assert.NotEqual(t, obj1, obj2, "two objects shouldn't be equal")
|
||||||
//
|
//
|
||||||
// Returns whether the assertion was successful (true) or not (false).
|
// Returns whether the assertion was successful (true) or not (false).
|
||||||
|
//
|
||||||
|
// Pointer variable equality is determined based on the equality of the
|
||||||
|
// referenced values (as opposed to the memory addresses).
|
||||||
func NotEqual(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) {
|
func NotEqual(t TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) {
|
||||||
if !assert.NotEqual(t, expected, actual, msgAndArgs...) {
|
if !assert.NotEqual(t, expected, actual, msgAndArgs...) {
|
||||||
t.FailNow()
|
t.FailNow()
|
||||||
|
|
|
@ -44,6 +44,9 @@ func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) {
|
||||||
// a.Equal(123, 123, "123 and 123 should be equal")
|
// a.Equal(123, 123, "123 and 123 should be equal")
|
||||||
//
|
//
|
||||||
// Returns whether the assertion was successful (true) or not (false).
|
// Returns whether the assertion was successful (true) or not (false).
|
||||||
|
//
|
||||||
|
// Pointer variable equality is determined based on the equality of the
|
||||||
|
// referenced values (as opposed to the memory addresses).
|
||||||
func (a *Assertions) Equal(expected interface{}, actual interface{}, msgAndArgs ...interface{}) {
|
func (a *Assertions) Equal(expected interface{}, actual interface{}, msgAndArgs ...interface{}) {
|
||||||
Equal(a.t, expected, actual, msgAndArgs...)
|
Equal(a.t, expected, actual, msgAndArgs...)
|
||||||
}
|
}
|
||||||
|
@ -263,6 +266,9 @@ func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) {
|
||||||
// a.NotEqual(obj1, obj2, "two objects shouldn't be equal")
|
// a.NotEqual(obj1, obj2, "two objects shouldn't be equal")
|
||||||
//
|
//
|
||||||
// Returns whether the assertion was successful (true) or not (false).
|
// Returns whether the assertion was successful (true) or not (false).
|
||||||
|
//
|
||||||
|
// Pointer variable equality is determined based on the equality of the
|
||||||
|
// referenced values (as opposed to the memory addresses).
|
||||||
func (a *Assertions) NotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) {
|
func (a *Assertions) NotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) {
|
||||||
NotEqual(a.t, expected, actual, msgAndArgs...)
|
NotEqual(a.t, expected, actual, msgAndArgs...)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue