From 121a4e740af7c29584b27b6979a9f750f80dd720 Mon Sep 17 00:00:00 2001 From: Crow Crowcrow Date: Fri, 12 Jun 2020 19:35:26 +0200 Subject: [PATCH 1/2] Add NCmp --- assert.go | 9 +++++++++ assert_test.go | 15 +++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/assert.go b/assert.go index 6c762c3..b89a5f2 100644 --- a/assert.go +++ b/assert.go @@ -156,6 +156,7 @@ func (a Assert) SameElements(expected, actual interface{}, msg ...interface{}) { a.f(false, msg, ``) } +// Cmp assert wrapper for go-cmp func (a Assert) Cmp(expected, actual interface{}, opts ...cmp.Option) { a.t.Helper() diff := cmp.Diff(expected, actual, opts...) @@ -165,3 +166,11 @@ func (a Assert) Cmp(expected, actual interface{}, opts ...cmp.Option) { a.f(false, nil, "\n"+diff) } + +// NCmp assert wrapper for go-cmp but fails when !Equal +func (a Assert) NCmp(expected, actual interface{}, opts ...cmp.Option) { + a.t.Helper() + + ok := cmp.Equal(expected, actual, opts...) + a.f(!ok, nil, `Should not be %#v, but it is`, expected) +} diff --git a/assert_test.go b/assert_test.go index e0a2323..0b31a12 100644 --- a/assert_test.go +++ b/assert_test.go @@ -177,3 +177,18 @@ func TestCmpTimezones(t *testing.T) { fa.Cmp(&A{ti}, &A{ti2}) assert.True(ft.GotError()) } + +func TestNCmp(t *testing.T) { + assert := New(t) + ft, fa := newFakeT() + + type A struct { + S string + } + + fa.NCmp(A{"not"}, A{"equal"}) + assert.False(ft.GotError()) + + fa.NCmp(A{"equal"}, A{"equal"}) + assert.True(ft.GotError()) +} From 9850e4f385d01b236b1dbea576bf498b40fa7d61 Mon Sep 17 00:00:00 2001 From: NiseVoid Date: Tue, 29 Sep 2020 12:13:45 +0200 Subject: [PATCH 2/2] Fix comments --- assert.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assert.go b/assert.go index b89a5f2..791b600 100644 --- a/assert.go +++ b/assert.go @@ -42,7 +42,7 @@ func (a Assert) True(actual bool, msg ...interface{}) { a.f(actual, msg, `Should be true, but it isn't`) } -// False sserts the given value is false +// False asserts the given value is false func (a Assert) False(actual bool, msg ...interface{}) { a.t.Helper() a.f(!actual, msg, `Should be false, but it isn't`) @@ -70,7 +70,7 @@ func (a Assert) Nil(actual interface{}, msg ...interface{}) { a.f(isNil(actual), msg, `Should be nil, but got %#v`, actual) } -// NotNil sserts the given value is not nil +// NotNil asserts the given value is not nil func (a Assert) NotNil(actual interface{}, msg ...interface{}) { a.t.Helper() a.f(!isNil(actual), msg, `Should not be nil, but it is`) @@ -84,7 +84,7 @@ func (a Assert) Error(actual error, msg ...interface{}) { a.f(actual != nil, msg, `Expected an error, but got nil`) } -// NoError asserts the given error is not nil +// NoError asserts the given error is nil func (a Assert) NoError(actual error, msg ...interface{}) { a.t.Helper() a.f(actual == nil, msg, `Expected no error, but got %#v`, actual)