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  }