github.com/pbberlin/tools@v0.0.0-20160910141205-7aa5421c2169/omap/osmaps/osmaps_test.go (about) 1 // +build integration 2 // go test -tags=integration 3 4 package osmaps 5 6 import ( 7 "strings" 8 "testing" 9 ) 10 11 func DISABLED_TestStringKeyOMapInsertion(t *testing.T) { 12 wordForWord := New() 13 for _, word := range []string{"one", "Two", "THREE", "four", "Five"} { 14 wordForWord.Insert(strings.ToLower(word), word) 15 } 16 var words []string 17 fc := func(_, value string) { 18 words = append(words, value) 19 } 20 wordForWord.Do(fc) 21 actual, expected := strings.Join(words, ""), "FivefouroneTHREETwo" 22 if actual != expected { 23 t.Errorf("got %q != wanted %q", actual, expected) 24 } 25 } 26 27 func TestInsertUpdateFind(t *testing.T) { 28 map1 := New() 29 const keyPref = "a100" 30 const valPref = "val" 31 32 keys := []string{"9", "1", "8", "2", "7", "3", "6", "4", "5", "0"} 33 34 for _, number := range keys { 35 map1.Insert(keyPref+number, number) 36 } 37 38 // UPDATE 39 for _, number := range keys { 40 map1.Insert(keyPref+number, valPref+number) 41 } 42 43 for _, number := range []string{"0", "1", "5", "8", "9"} { 44 value, found := map1.Find(keyPref + number) 45 if !found { 46 t.Errorf("failed to find %v", keyPref+number) 47 } 48 actual, expected := value, valPref+number 49 if actual != expected { 50 t.Errorf("value is %v should be %v", actual, expected) 51 } 52 } 53 for _, number := range []string{"-1", "-21", "10", "11", "148"} { 54 _, found := map1.Find(keyPref + number) 55 if found { 56 t.Errorf("should not have found %v", keyPref+number) 57 } 58 } 59 } 60 61 func DISABLED_IntKeyOMapDelete(t *testing.T) { 62 map1 := New() 63 for _, number := range []string{"9", "1", "8", "2", "7", "3", "6", "4", "5", "0"} { 64 map1.Insert(number, "0"+number) 65 } 66 if map1.Len() != 10 { 67 t.Errorf("map len %d should be 10", map1.Len()) 68 } 69 length := 9 70 for i, number := range []string{"0", "1", "5", "8", "9"} { 71 if deleted := map1.Delete(number); !deleted { 72 t.Errorf("failed to delete %d", number) 73 } 74 if map1.Len() != length-i { 75 t.Errorf("map len %d should be %d", map1.Len(), length-i) 76 } 77 } 78 for _, number := range []string{"-1", "-21", "10", "11", "148"} { 79 if deleted := map1.Delete(number); deleted { 80 t.Errorf("should not have deleted nonexistent %d", number) 81 } 82 } 83 if map1.Len() != 5 { 84 t.Errorf("map len %d should be 5", map1.Len()) 85 } 86 }