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  }