github.com/aavshr/aws-sdk-go@v1.41.3/aws/crr/sync_map_test.go (about) 1 package crr 2 3 import ( 4 "reflect" 5 "testing" 6 ) 7 8 func TestRangeDelete(t *testing.T) { 9 m := newSyncMap() 10 for i := 0; i < 10; i++ { 11 m.Store(i, i*10) 12 } 13 14 m.Range(func(key, value interface{}) bool { 15 m.Delete(key) 16 return true 17 }) 18 19 expectedMap := map[interface{}]interface{}{} 20 actualMap := map[interface{}]interface{}{} 21 m.Range(func(key, value interface{}) bool { 22 actualMap[key] = value 23 return true 24 }) 25 26 if e, a := len(expectedMap), len(actualMap); e != a { 27 t.Errorf("expected map size %d, but received %d", e, a) 28 } 29 30 if e, a := expectedMap, actualMap; !reflect.DeepEqual(e, a) { 31 t.Errorf("expected %v, but received %v", e, a) 32 } 33 } 34 35 func TestRangeStore(t *testing.T) { 36 m := newSyncMap() 37 for i := 0; i < 10; i++ { 38 m.Store(i, i*10) 39 } 40 41 m.Range(func(key, value interface{}) bool { 42 v := value.(int) 43 m.Store(key, v+1) 44 return true 45 }) 46 47 expectedMap := map[interface{}]interface{}{ 48 0: 1, 49 1: 11, 50 2: 21, 51 3: 31, 52 4: 41, 53 5: 51, 54 6: 61, 55 7: 71, 56 8: 81, 57 9: 91, 58 } 59 actualMap := map[interface{}]interface{}{} 60 m.Range(func(key, value interface{}) bool { 61 actualMap[key] = value 62 return true 63 }) 64 65 if e, a := len(expectedMap), len(actualMap); e != a { 66 t.Errorf("expected map size %d, but received %d", e, a) 67 } 68 69 if e, a := expectedMap, actualMap; !reflect.DeepEqual(e, a) { 70 t.Errorf("expected %v, but received %v", e, a) 71 } 72 } 73 74 func TestRangeGet(t *testing.T) { 75 m := newSyncMap() 76 for i := 0; i < 10; i++ { 77 m.Store(i, i*10) 78 } 79 80 m.Range(func(key, value interface{}) bool { 81 m.Load(key) 82 return true 83 }) 84 85 expectedMap := map[interface{}]interface{}{ 86 0: 0, 87 1: 10, 88 2: 20, 89 3: 30, 90 4: 40, 91 5: 50, 92 6: 60, 93 7: 70, 94 8: 80, 95 9: 90, 96 } 97 actualMap := map[interface{}]interface{}{} 98 m.Range(func(key, value interface{}) bool { 99 actualMap[key] = value 100 return true 101 }) 102 103 if e, a := len(expectedMap), len(actualMap); e != a { 104 t.Errorf("expected map size %d, but received %d", e, a) 105 } 106 107 if e, a := expectedMap, actualMap; !reflect.DeepEqual(e, a) { 108 t.Errorf("expected %v, but received %v", e, a) 109 } 110 }