code.gitea.io/gitea@v1.19.3/modules/container/set_test.go (about)

     1  // Copyright 2022 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package container
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestSet(t *testing.T) {
    13  	s := make(Set[string])
    14  
    15  	assert.True(t, s.Add("key1"))
    16  	assert.False(t, s.Add("key1"))
    17  	assert.True(t, s.Add("key2"))
    18  
    19  	assert.True(t, s.Contains("key1"))
    20  	assert.True(t, s.Contains("key2"))
    21  	assert.False(t, s.Contains("key3"))
    22  
    23  	assert.True(t, s.Remove("key2"))
    24  	assert.False(t, s.Contains("key2"))
    25  
    26  	assert.False(t, s.Remove("key3"))
    27  
    28  	s.AddMultiple("key4", "key5")
    29  	assert.True(t, s.Contains("key4"))
    30  	assert.True(t, s.Contains("key5"))
    31  
    32  	s = SetOf("key6", "key7")
    33  	assert.False(t, s.Contains("key1"))
    34  	assert.True(t, s.Contains("key6"))
    35  	assert.True(t, s.Contains("key7"))
    36  }