aboutsummaryrefslogtreecommitdiffstats
path: root/skate/set/set_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'skate/set/set_test.go')
-rw-r--r--skate/set/set_test.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/skate/set/set_test.go b/skate/set/set_test.go
new file mode 100644
index 0000000..c319759
--- /dev/null
+++ b/skate/set/set_test.go
@@ -0,0 +1,39 @@
+package set
+
+import (
+ "testing"
+
+ "github.com/matryer/is"
+)
+
+func TestSet(t *testing.T) {
+ is := is.New(t)
+
+ s := make(Set)
+ is.Equal(s.Len(), 0)
+ is.True(s.IsEmpty())
+
+ s.Add("1")
+ is.Equal(s.Len(), 1)
+ is.True(!s.IsEmpty())
+ is.True(s.Contains("1"))
+ is.True(!s.Contains("2"))
+ is.Equal(s.Slice(), []string{"1"})
+
+ r := make(Set)
+ r.Add("2")
+ is.True(s.Intersection(&r).IsEmpty())
+ is.Equal(s.Union(&r).Len(), 2)
+ is.Equal(s.Union(&r).SortedSlice(), []string{"1", "2"})
+
+ r.Add("3")
+ r.Add("4")
+ r.Add("5")
+ r.Add("6")
+ r.Add("7")
+ r.Add("8")
+ top := make(Set)
+ top.Add("2")
+ top.Add("3")
+ is.Equal(r.TopK(2), &top)
+}