From eced25b76d6089b4c76752e0e43f9109cb9164f9 Mon Sep 17 00:00:00 2001 From: dudaodong Date: Mon, 17 Oct 2022 10:26:54 +0800 Subject: [PATCH] test: add unit test for Replace and ReplaceAll --- slice/slice_test.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/slice/slice_test.go b/slice/slice_test.go index 75f6fd8..f7c4a08 100644 --- a/slice/slice_test.go +++ b/slice/slice_test.go @@ -617,3 +617,30 @@ func TestAppendIfAbsent(t *testing.T) { assert.Equal([]string{"a", "b"}, AppendIfAbsent(str1, "a")) assert.Equal([]string{"a", "b", "c"}, AppendIfAbsent(str1, "c")) } + +func TestReplace(t *testing.T) { + assert := internal.NewAssert(t, "TestReplace") + + strs := []string{"a", "b", "a", "c", "d", "a"} + + assert.Equal([]string{"a", "b", "a", "c", "d", "a"}, Replace(strs, "a", "x", 0)) + assert.Equal([]string{"x", "b", "a", "c", "d", "a"}, Replace(strs, "a", "x", 1)) + assert.Equal([]string{"x", "b", "x", "c", "d", "a"}, Replace(strs, "a", "x", 2)) + assert.Equal([]string{"x", "b", "x", "c", "d", "x"}, Replace(strs, "a", "x", 3)) + assert.Equal([]string{"x", "b", "x", "c", "d", "x"}, Replace(strs, "a", "x", 4)) + + assert.Equal([]string{"x", "b", "x", "c", "d", "x"}, Replace(strs, "a", "x", -1)) + assert.Equal([]string{"x", "b", "x", "c", "d", "x"}, Replace(strs, "a", "x", -2)) + + assert.Equal([]string{"a", "b", "a", "c", "d", "a"}, Replace(strs, "x", "y", 1)) + assert.Equal([]string{"a", "b", "a", "c", "d", "a"}, Replace(strs, "x", "y", -1)) +} + +func TestReplaceAll(t *testing.T) { + assert := internal.NewAssert(t, "TestReplaceAll") + + strs := []string{"a", "b", "a", "c", "d", "a"} + + assert.Equal([]string{"x", "b", "x", "c", "d", "x"}, ReplaceAll(strs, "a", "x")) + assert.Equal([]string{"a", "b", "a", "c", "d", "a"}, ReplaceAll(strs, "e", "x")) +}