diff --git a/generator_test.go b/generator_test.go new file mode 100644 index 0000000..aa453ec --- /dev/null +++ b/generator_test.go @@ -0,0 +1,25 @@ +package ID + +import "testing" + +func TestUnique(t *testing.T) { + gen := New(0) + ids := make(map[Type]struct{}) + + start := gen.Next() + ids[start] = struct{}{} + + for current := gen.Next(); current != start; current = gen.Next() { + if _, ok := ids[current]; ok { + t.Fatal("generator returned known id") + } + + ids[current] = struct{}{} + } + + if len(ids) == 1 { + t.Error("generator always returns same id") + } + + t.Log("generator returned", len(ids), "ids") +}