aoc2023/day-7/hands_test.go

101 lines
1.8 KiB
Go
Raw Normal View History

2023-12-07 23:13:05 +00:00
package main
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestGetMatches(t *testing.T) {
//t.Skip("skipping test")
h1 := newHand("32T3K", 0)
h2 := newHand("ABC3D", 0)
res1 := map[rune]int{
'3': 2,
'2': 1,
'T': 1,
'K': 1,
}
res2 := map[rune]int{
'A': 1,
'B': 1,
'C': 1,
'3': 1,
'D': 1,
}
t.Run("Should produce equal maps", func(t *testing.T) {
assert.Equal(t, res1, h1.getMatches())
})
t.Run("Should produce equal maps", func(t *testing.T) {
assert.Equal(t, res2, h2.getMatches())
})
}
func TestIsHighCard(t *testing.T) {
//t.Skip("skipping test")
h1 := newHand("ABC12", 0)
t.Run("Should be a high card", func(t *testing.T) {
assert.Equal(t, true, isHighCard(h1))
})
t.Run("Should not be a four of a kind", func(t *testing.T) {
assert.Equal(t, false, isFourOfAKind(h1))
})
}
func TestIsFourOfAKind(t *testing.T) {
//t.Skip("skipping test")
h1 := newHand("UUUU9", 0)
h2 := newHand("UUU99", 0)
t.Run("Should be a four of a kind", func(t *testing.T) {
assert.Equal(t, true, isFourOfAKind(h1))
})
t.Run("Should not be a four of a kind", func(t *testing.T) {
assert.Equal(t, false, isFourOfAKind(h2))
})
}
func TestIsFullHouse(t *testing.T) {
//t.Skip("skipping test")
h1 := newHand("333KK", 0)
h2 := newHand("3338K", 0)
t.Run("Should be a fullhouse", func(t *testing.T) {
assert.Equal(t, true, isFullHouse(h1))
})
t.Run("Should not be a fullhouse", func(t *testing.T) {
assert.Equal(t, false, isFullHouse(h2))
})
}
func TestIsTwoPair(t *testing.T) {
//t.Skip("skipping test")
h1 := newHand("33QQA", 0)
t.Run("Should be a twopair", func(t *testing.T) {
assert.Equal(t, true, isTwoPair(h1))
})
}
func TestIsOnePair(t *testing.T) {
//t.Skip("skipping test")
h1 := newHand("33QKA", 0)
t.Run("Should be a onepair", func(t *testing.T) {
assert.Equal(t, true, isOnePair(h1))
})
}