コード例 #1
0
func TestLinearHashtableCast(t *testing.T) {
	hash := hashtable.NewLinearHash()
	_ = types.Sized(hash)
	_ = types.MapIterable(hash)
	_ = types.MapOperable(hash)
	_ = types.Map(hash)
}
コード例 #2
0
func TestMapSetMapFunc(x *testing.T) {
	t := (*T)(x)
	SIZE := 100
	set := types.Map(NewMapSet(NewSortedSet(10)))
	items := make([]*types.MapEntry, 0, SIZE)
	for i := 0; i < SIZE; i++ {
		item := &types.MapEntry{types.Int(rand.Intn(1000)), types.Int(rand.Intn(1000))}
		for set.Has(item.Key) {
			item = &types.MapEntry{types.Int(rand.Intn(1000)), types.Int(rand.Intn(1000))}
		}
		items = append(items, item)
		t.assert_nil(set.Put(item.Key, item.Value))
	}
	for i, item := range items {
		t.assert(fmt.Sprintf("i %v, !set.Has(item, %v)", i, item), set.Has(item.Key))
	}
	t.assert("size == 100", set.Size() == 100)
	for _, item := range items {
		rm, err := set.Remove(item.Key)
		t.assert_nil(err)
		t.assert("item == rm", item.Value.(types.Int).Equals(rm.(types.Int)))
	}
	for i, item := range items {
		t.assert(fmt.Sprintf("i %v, set.Has(item)", i), !set.Has(item.Key))
	}
}
コード例 #3
0
func TestHashtableCast(t *testing.T) {
	hash := hashtable.NewHashTable(16)
	_ = types.Sized(hash)
	_ = types.MapIterable(hash)
	_ = types.MapOperable(hash)
	_ = types.Map(hash)
}