diff options
| author | Paul Buetow <paul@buetow.org> | 2020-10-17 10:59:41 +0100 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2020-10-17 10:59:41 +0100 |
| commit | 04d479156672bde8208c6e9ba266cca5659c5e1b (patch) | |
| tree | 510449cdc38b7e7084eba716e822afd09739770f /set/set_test.go | |
| parent | f0828a8336a4404b8a9807c4aaf6313f4ff8c5e8 (diff) | |
more on bst
Diffstat (limited to 'set/set_test.go')
| -rw-r--r-- | set/set_test.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/set/set_test.go b/set/set_test.go new file mode 100644 index 0000000..16d3e8c --- /dev/null +++ b/set/set_test.go @@ -0,0 +1,38 @@ +package set + +import ( + "fmt" + "testing" + + "github.com/snonux/algorithms/ds" +) + +const factor int = 10 +const minLength int = 1 +const maxLength int = 10 + +func TestSet(t *testing.T) { + s := NewElementary() + for i := minLength; i <= maxLength; i *= factor { + test(s, i, t) + } +} + +func test(s Set, l int, t *testing.T) { + cb := func(t *testing.T) { + list := ds.NewRandomArrayList(l, -1) + for i, a := range list { + s.Set(a, i) + } + for i, a := range list { + val, err := s.Get(a) + if err != nil { + t.Errorf("Element %v: %v", val, err) + } + if val != i { + t.Errorf("Element is %v but expected %v", val, i) + } + } + } + t.Run(fmt.Sprintf("%d", l), cb) +} |
