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") }