|
|
|
@ -12,9 +12,14 @@ type testElem struct {
|
|
|
|
|
Name string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func NewSampleElem(IDSpace uniqueID.IDSpace, name string) *testElem {
|
|
|
|
|
|
|
|
|
|
var lastID uniqueID.ID
|
|
|
|
|
|
|
|
|
|
func NewSampleElem(IDSpace *uniqueID.IDSpace, name string) *testElem {
|
|
|
|
|
newID := IDSpace.NewID()
|
|
|
|
|
lastID = newID
|
|
|
|
|
return &testElem{
|
|
|
|
|
IDSpace.NewID(),
|
|
|
|
|
newID,
|
|
|
|
|
name,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -24,24 +29,27 @@ func (te *testElem) ID() uniqueID.ID {
|
|
|
|
|
|
|
|
|
|
func TestSet(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
testIDSpace := uniqueID.IDSpace{}
|
|
|
|
|
testIDSpace := &uniqueID.IDSpace{}
|
|
|
|
|
set := Set{}
|
|
|
|
|
|
|
|
|
|
set.Insert(NewSampleElem(testIDSpace, "a"), 1)
|
|
|
|
|
set.Insert(NewSampleElem(testIDSpace, "b"), 2)
|
|
|
|
|
set.Insert(NewSampleElem(testIDSpace, "c"), 3)
|
|
|
|
|
set.Insert(NewSampleElem(testIDSpace, "d"), 5)
|
|
|
|
|
set.Insert(NewSampleElem(testIDSpace, "e"), 4)
|
|
|
|
|
err := set.Insert(NewSampleElem(testIDSpace, "a"), 1); if err != nil {tools.WrapErr(err, "could not insert test element", t)}
|
|
|
|
|
err = set.Insert(NewSampleElem(testIDSpace, "b"), 2); if err != nil {tools.WrapErr(err, "could not insert test element", t)}
|
|
|
|
|
err = set.Insert(NewSampleElem(testIDSpace, "c"), 3); if err != nil {tools.WrapErr(err, "could not insert test element", t)}
|
|
|
|
|
err = set.Insert(NewSampleElem(testIDSpace, "d"), 5); if err != nil {tools.WrapErr(err, "could not insert test element", t)}
|
|
|
|
|
err = set.Insert(NewSampleElem(testIDSpace, "e"), 4); if err != nil {tools.WrapErr(err, "could not insert test element", t)}
|
|
|
|
|
value, err := set.Nearest(3.2); if err != nil {tools.WrapErr(err, "could not get element from set", t)}
|
|
|
|
|
tools.Test(value == "c", "did not get corrent element", t)
|
|
|
|
|
tools.Test(value.(*testElem).Name == "c", "did not get corrent element", t)
|
|
|
|
|
value, err = set.Nearest(3.8); if err != nil {tools.WrapErr(err, "could not get element from set", t)}
|
|
|
|
|
tools.Test(value == "e", "did not get corrent element", t)
|
|
|
|
|
tools.Test(value.(*testElem).Name == "e", "did not get corrent element", t)
|
|
|
|
|
value, err = set.Nearest(8); if err != nil {tools.WrapErr(err, "could not get element from set", t)}
|
|
|
|
|
tools.Test(value == "d", "did not get corrent element", t)
|
|
|
|
|
tools.Test(value.(*testElem).Name == "d", "did not get corrent element", t)
|
|
|
|
|
value, err = set.Nearest(-2); if err != nil {tools.WrapErr(err, "could not get element from set", t)}
|
|
|
|
|
tools.Test(value == "a", "did not get corrent element", t)
|
|
|
|
|
tools.Test(value.(*testElem).Name == "a", "did not get corrent element", t)
|
|
|
|
|
value, err = set.Nearest(2); if err != nil {tools.WrapErr(err, "could not get element from set", t)}
|
|
|
|
|
tools.Test(value == "b", "did not get corrent element", t)
|
|
|
|
|
tools.Test(value.(*testElem).Name == "b", "did not get corrent element", t)
|
|
|
|
|
|
|
|
|
|
tools.Test(set.Contains(lastID), "set did not contain added element", t)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
t.Log(set.String())
|
|
|
|
|
|
|
|
|
|