github.com/vpayno/adventofcode-2022-golang-workspace@v0.0.0-20230605190011-dbafed5593de/internal/day04/init_test.go (about) 1 package day04 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestSetup(t *testing.T) { 10 appName := "testName" 11 12 want := Config{ 13 appName: appName, 14 inputFileName: "data/" + appName + "/" + appName + "-input.txt", 15 } 16 17 got := Setup(appName) 18 19 assert.Equal(t, want.appName, got.appName, "app names aren't equal") 20 assert.Equal(t, want.inputFileName, got.inputFileName, "input file names aren't equal") 21 } 22 23 func TestSection_addRange(t *testing.T) { 24 s := section{} 25 err := s.addRange("2-4") 26 assert.Nil(t, err) 27 28 want1s := 2 29 want1e := 4 30 31 got1s := s.start 32 got1e := s.end 33 34 assert.Equal(t, want1s, got1s) 35 assert.Equal(t, want1e, got1e) 36 } 37 38 func TestPair_addPair(t *testing.T) { 39 want := pair{ 40 elf1: section{ 41 start: 1, 42 end: 2, 43 }, 44 elf2: section{ 45 start: 4, 46 end: 5, 47 }, 48 } 49 50 got := pair{} 51 err := got.addPair("1-2,4-5") 52 assert.Nil(t, err) 53 54 assert.Equal(t, want.elf1.start, got.elf1.start) 55 assert.Equal(t, want.elf1.end, got.elf1.end) 56 57 assert.Equal(t, want.elf2.start, got.elf2.start) 58 assert.Equal(t, want.elf2.end, got.elf2.end) 59 } 60 61 func TestPair_isFullyContained(t *testing.T) { 62 p := pair{} 63 64 err := p.addPair("3-4,2-5") 65 assert.Nil(t, err) 66 67 assert.True(t, p.isFullyContained(1)) 68 assert.False(t, p.isFullyContained(2)) 69 }