loading up the forgejo repo on tangled to test page performance
at forgejo 1.1 kB view raw
1// Copyright 2022 The Gitea Authors. All rights reserved. 2// SPDX-License-Identifier: MIT 3 4package container 5 6import ( 7 "slices" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11) 12 13func TestSet(t *testing.T) { 14 s := make(Set[string]) 15 16 assert.True(t, s.Add("key1")) 17 assert.False(t, s.Add("key1")) 18 assert.True(t, s.Add("key2")) 19 20 assert.True(t, s.Contains("key1")) 21 assert.True(t, s.Contains("key2")) 22 assert.False(t, s.Contains("key3")) 23 24 assert.True(t, s.Remove("key2")) 25 assert.False(t, s.Contains("key2")) 26 27 assert.False(t, s.Remove("key3")) 28 29 s.AddMultiple("key4", "key5") 30 assert.True(t, s.Contains("key4")) 31 assert.True(t, s.Contains("key5")) 32 33 values := s.Values() 34 called := 0 35 for value := range s.Seq() { 36 called++ 37 assert.True(t, slices.Contains(values, value)) 38 } 39 assert.Equal(t, len(values), called) 40 41 s = SetOf("key6", "key7") 42 assert.False(t, s.Contains("key1")) 43 assert.True(t, s.Contains("key6")) 44 assert.True(t, s.Contains("key7")) 45 46 assert.True(t, s.IsSubset([]string{"key6", "key7"})) 47 assert.False(t, s.IsSubset([]string{"key1"})) 48 49 assert.True(t, s.IsSubset([]string{})) 50}