Watch
1
0
Fork
You've already forked advent-of-code
0
advent-of-code/2021/aoc/stringset/stringset_test.go
2021-12-07 23:42:54 -08:00

40 lines
890 B
Go

package stringset_test
import (
"testing"
"github.com/jdkaplan/advent-of-code/aoc/stringset"
)
func TestMinus(t *testing.T) {
a := stringset.Runes("dab")
b := stringset.Runes("ab")
u := a.Minus(b)
if n := len(u); n != 1 {
t.Fatalf("Expected one value, got %d", n)
}
if v := u.Only(); v != "d" {
t.Errorf(`Expected value to be "d", got %s`, v)
}
}
func TestIntersect(t *testing.T) {
t.Run("pairwise", func(t *testing.T) {
u := stringset.Runes("dab").Intersect(stringset.Runes("ab"))
expected := stringset.Runes("ab")
if !u.Equal(expected) {
t.Errorf(`Expected value to be %s, got %s`, expected, u)
}
})
t.Run("multiple", func(t *testing.T) {
u := stringset.Intersect(
stringset.Runes("dab"),
stringset.Runes("ab"),
)
expected := stringset.Runes("ab")
if !u.Equal(expected) {
t.Errorf(`Expected value to be %s, got %s`, expected, u)
}
})
}