2023-12-20 11:27:20 -07:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"bufio"
|
|
|
|
"bytes"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
_ "embed"
|
|
|
|
|
|
|
|
"github.com/matryer/is"
|
|
|
|
)
|
|
|
|
|
|
|
|
//go:embed example.txt
|
|
|
|
var example []byte
|
|
|
|
|
|
|
|
//go:embed input.txt
|
|
|
|
var input []byte
|
|
|
|
|
|
|
|
func TestExample(t *testing.T) {
|
|
|
|
is := is.New(t)
|
|
|
|
scan := bufio.NewScanner(bytes.NewReader(example))
|
|
|
|
|
|
|
|
result, err := run(scan)
|
|
|
|
is.NoErr(err)
|
|
|
|
|
|
|
|
t.Log(result)
|
|
|
|
is.Equal(result.valuePT1, 62)
|
2023-12-27 13:18:49 -07:00
|
|
|
is.Equal(result.valuePT2, 952408144115)
|
2023-12-20 11:27:20 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func TestSolution(t *testing.T) {
|
|
|
|
is := is.New(t)
|
|
|
|
scan := bufio.NewScanner(bytes.NewReader(input))
|
|
|
|
|
|
|
|
result, err := run(scan)
|
|
|
|
is.NoErr(err)
|
|
|
|
|
|
|
|
t.Log(result)
|
|
|
|
is.True(result.valuePT1 < 68834) // first attempt too high.
|
2023-12-27 13:18:49 -07:00
|
|
|
is.Equal(result.valuePT1, 46334)
|
2023-12-27 13:46:42 -07:00
|
|
|
is.Equal(result.valuePT2, 102000662718092)
|
2023-12-20 11:27:20 -07:00
|
|
|
}
|