From ddc04beb331cb025e980eb8ec561bd1bf76a2ff5 Mon Sep 17 00:00:00 2001 From: Julian Daube Date: Sat, 24 Sep 2016 16:19:36 +0200 Subject: [PATCH] add uniqueness-test --- generator_test.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 generator_test.go 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") +}