Files
dolt/nomdl/codegen/test/set_test.go
2015-10-23 16:42:54 -07:00

75 lines
1.4 KiB
Go

package test
import (
"testing"
"github.com/attic-labs/noms/Godeps/_workspace/src/github.com/stretchr/testify/assert"
"github.com/attic-labs/noms/nomdl/codegen/test/gen"
)
func TestSetDef(t *testing.T) {
assert := assert.New(t)
def := gen.SetOfBoolDef{true: true}
s := def.New()
assert.Equal(uint64(1), s.Len())
assert.True(s.Has(true))
assert.False(s.Has(false))
def2 := s.Def()
assert.Equal(def, def2)
s2 := gen.NewSetOfBool().Insert(true)
assert.True(s.Equals(s2))
}
func TestSetValue(t *testing.T) {
assert := assert.New(t)
def := gen.SetOfBoolDef{true: true}
m := def.New()
val := m
s2 := gen.SetOfBoolFromVal(val)
assert.True(m.Equals(s2))
}
func TestSetOfBoolIter(t *testing.T) {
assert := assert.New(t)
s := gen.NewSetOfBool().Insert(true, false)
acc := gen.NewSetOfBool()
s.Iter(func(v bool) bool {
acc = acc.Insert(v)
return false
})
assert.True(s.Equals(acc))
acc = gen.NewSetOfBool()
s.Iter(func(v bool) bool {
return true
})
assert.True(acc.Empty())
}
func TestSetOfBoolIterAll(t *testing.T) {
assert := assert.New(t)
s := gen.NewSetOfBool().Insert(true, false)
acc := gen.NewSetOfBool()
s.IterAll(func(v bool) {
acc = acc.Insert(v)
})
assert.True(s.Equals(acc))
}
func TestSetOfBoolFilter(t *testing.T) {
assert := assert.New(t)
s := gen.NewSetOfBool().Insert(true, false)
s2 := s.Filter(func(v bool) bool {
return v
})
assert.True(gen.NewSetOfBool().Insert(true).Equals(s2))
}