From 65719515bdf7ed22ff787f69e25c382c01fc0cfd Mon Sep 17 00:00:00 2001 From: dudaodong Date: Sun, 9 Jan 2022 13:58:27 +0800 Subject: [PATCH] feat: add LessOrEqual and GreaterOrEqual --- internal/assert.go | 18 ++++++++++++++++++ internal/assert_test.go | 2 ++ 2 files changed, 20 insertions(+) diff --git a/internal/assert.go b/internal/assert.go index 3043f7b..4aa2f22 100644 --- a/internal/assert.go +++ b/internal/assert.go @@ -48,6 +48,15 @@ func (a *Assert) Greater(expected, actual interface{}) { } } +// GreaterOrEqual check if expected is greate than or equal with actual +func (a *Assert) GreaterOrEqual(expected, actual interface{}) { + isGreatOrEqual := compare(expected, actual) == compareGreater || compare(expected, actual) == compareEqual + if !isGreatOrEqual { + expectedInfo := fmt.Sprintf(">= %v", expected) + logFailedInfo(a.T, a.CaseName, expectedInfo, actual) + } +} + // Less check if expected is less than actual func (a *Assert) Less(expected, actual interface{}) { if compare(expected, actual) != compareLess { @@ -56,6 +65,15 @@ func (a *Assert) Less(expected, actual interface{}) { } } +// Less check if expected is less than or equal with actual +func (a *Assert) LessOrEqual(expected, actual interface{}) { + isLessOrEqual := compare(expected, actual) == compareLess || compare(expected, actual) == compareEqual + if !isLessOrEqual { + expectedInfo := fmt.Sprintf("<= %v", expected) + logFailedInfo(a.T, a.CaseName, expectedInfo, actual) + } +} + // IsNil check if actual is nil func (a *Assert) IsNil(actual interface{}) { if actual != nil { diff --git a/internal/assert_test.go b/internal/assert_test.go index fd80530..185dd79 100644 --- a/internal/assert_test.go +++ b/internal/assert_test.go @@ -9,7 +9,9 @@ func TestAssert(t *testing.T) { assert.Equal(0, 0) assert.NotEqual(1, 0) assert.Greater(1, 0) + assert.GreaterOrEqual(1, 1) assert.Less(0, 1) + assert.LessOrEqual(0, 0) assert.Greater(1.1, 0.1) assert.Less(0.1, 1.1)