66 "testing"
77
88 "github.com/aeimer/go-multikeymap/container"
9+ "github.com/stretchr/testify/assert"
10+ "github.com/stretchr/testify/require"
911)
1012
1113func ExampleNew () {
@@ -31,9 +33,7 @@ func TestBiKeyMap_SetAndGet(t *testing.T) {
3133 bm := New [string , int , string ]()
3234
3335 err := bm .Put ("keyA1" , 1 , "value1" )
34- if err != nil {
35- t .Fatalf ("unexpected error: %v" , err )
36- }
36+ require .NoError (t , err )
3737
3838 value , exists := bm .GetByKeyA ("keyA1" )
3939 if ! exists || value != "value1" {
@@ -50,29 +50,22 @@ func TestBiKeyMap_SetDuplicateKeys(t *testing.T) {
5050 bm := New [string , int , string ]()
5151
5252 err := bm .Put ("keyA1" , 1 , "value1" )
53- if err != nil {
54- t .Fatalf ("unexpected error: %v" , err )
55- }
53+ require .NoError (t , err )
5654
5755 err = bm .Put ("keyA2" , 1 , "value2" )
58- if err == nil {
59- t .Fatal ("expected error, got nil" )
60- }
56+ require .Error (t , err )
6157
6258 err = bm .Put ("keyA1" , 2 , "value2" )
63- if err == nil {
64- t .Fatal ("expected error, got nil" )
65- }
59+ require .Error (t , err )
6660}
6761
6862func TestBiKeyMap_RemoveByKeyA (t * testing.T ) {
6963 bm := New [string , int , string ]()
7064
71- _ = bm .Put ("keyA1" , 1 , "value1" )
72- err := bm .RemoveByKeyA ("keyA1" )
73- if err != nil {
74- t .Fatalf ("unexpected error: %v" , err )
75- }
65+ err := bm .Put ("keyA1" , 1 , "value1" )
66+ require .NoError (t , err )
67+ err = bm .RemoveByKeyA ("keyA1" )
68+ require .NoError (t , err )
7669
7770 _ , exists := bm .GetByKeyA ("keyA1" )
7871 if exists {
@@ -88,11 +81,10 @@ func TestBiKeyMap_RemoveByKeyA(t *testing.T) {
8881func TestBiKeyMap_RemoveByKeyB (t * testing.T ) {
8982 bm := New [string , int , string ]()
9083
91- _ = bm .Put ("keyA1" , 1 , "value1" )
92- err := bm .RemoveByKeyB (1 )
93- if err != nil {
94- t .Fatalf ("unexpected error: %v" , err )
95- }
84+ err := bm .Put ("keyA1" , 1 , "value1" )
85+ require .NoError (t , err )
86+ err = bm .RemoveByKeyB (1 )
87+ require .NoError (t , err )
9688
9789 _ , exists := bm .GetByKeyA ("keyA1" )
9890 if exists {
@@ -107,27 +99,23 @@ func TestBiKeyMap_RemoveByKeyB(t *testing.T) {
10799
108100func TestBiKeyMap_String (t * testing.T ) {
109101 bm := New [string , int , string ]()
110- _ = bm .Put ("keyA1" , 1 , "value1" )
102+ err := bm .Put ("keyA1" , 1 , "value1" )
103+ require .NoError (t , err )
104+
111105 expected := "BiKeyMap: map[keyA1:value1]"
112- if bm .String () != expected {
113- t .Errorf ("expected %s, got %s" , expected , bm .String ())
114- }
106+ assert .Equal (t , expected , bm .String ())
115107}
116108
117109func TestBiKeyMap_RemoveByKeyA_NotFound (t * testing.T ) {
118110 bm := New [string , int , string ]()
119111 err := bm .RemoveByKeyA ("nonExistentKey" )
120- if err == nil {
121- t .Error ("expected error, got nil" )
122- }
112+ require .Error (t , err )
123113}
124114
125115func TestBiKeyMap_RemoveByKeyB_NotFound (t * testing.T ) {
126116 bm := New [string , int , string ]()
127117 err := bm .RemoveByKeyB (999 )
128- if err == nil {
129- t .Error ("expected error, got nil" )
130- }
118+ require .Error (t , err )
131119}
132120func TestBiKeyMap_EmptyAndSize (t * testing.T ) {
133121 bm := New [string , int , string ]()
@@ -136,48 +124,45 @@ func TestBiKeyMap_EmptyAndSize(t *testing.T) {
136124 t .Error ("expected map to be empty" )
137125 }
138126
139- _ = bm .Put ("keyA1" , 1 , "value1" )
127+ err := bm .Put ("keyA1" , 1 , "value1" )
128+ require .NoError (t , err )
140129 if bm .Empty () {
141130 t .Error ("expected map to not be empty" )
142131 }
143132
144- if bm .Size () != 1 {
145- t .Errorf ("expected size 1, got %d" , bm .Size ())
146- }
133+ assert .Equal (t , 1 , bm .Size ())
147134}
148135
149136func TestBiKeyMap_Clear (t * testing.T ) {
150137 bm := New [string , int , string ]()
151138
152- _ = bm .Put ("keyA1" , 1 , "value1" )
153- _ = bm .Put ("keyA2" , 2 , "value2" )
139+ err := bm .Put ("keyA1" , 1 , "value1" )
140+ require .NoError (t , err )
141+ err = bm .Put ("keyA2" , 2 , "value2" )
142+ require .NoError (t , err )
154143 bm .Clear ()
155144
156145 if ! bm .Empty () {
157146 t .Error ("expected map to be empty after clear" )
158147 }
159148
160- if bm .Size () != 0 {
161- t .Errorf ("expected size 0, got %d" , bm .Size ())
162- }
149+ assert .Equal (t , 0 , bm .Size ())
163150}
164151
165152func TestBiKeyMap_Values (t * testing.T ) {
166153 bm := New [string , int , string ]()
167154
168- _ = bm .Put ("keyA1" , 1 , "value1" )
169- _ = bm .Put ("keyA2" , 2 , "value2" )
155+ err := bm .Put ("keyA1" , 1 , "value1" )
156+ require .NoError (t , err )
157+ err = bm .Put ("keyA2" , 2 , "value2" )
158+ require .NoError (t , err )
170159
171160 values := bm .Values ()
172- if len (values ) != 2 {
173- t .Errorf ("expected 2 values, got %d" , len (values ))
174- }
161+ assert .Len (t , values , 2 )
175162
176163 expectedValues := map [string ]bool {"value1" : true , "value2" : true }
177164 for _ , value := range values {
178- if ! expectedValues [value ] {
179- t .Errorf ("unexpected value: %v" , value )
180- }
165+ assert .Contains (t , expectedValues , value )
181166 }
182167}
183168
0 commit comments