46 lines
1.1 KiB
Go
46 lines
1.1 KiB
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"strconv"
|
||
|
"strings"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestExampleRecursive1(t *testing.T) {
|
||
|
text := "3,26,1001,26,-4,26,3,27,1002,27,2,27,1,27,26,27,4,27,1001,28,-1,28,1005,28,6,99,0,0,5"
|
||
|
stringarr := strings.Split(text, ",")
|
||
|
var t2 = []int{}
|
||
|
|
||
|
for _, i := range stringarr {
|
||
|
j, err := strconv.Atoi(i)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
t2 = append(t2, j)
|
||
|
}
|
||
|
goal := RunRecursiveAmplification(t2, []int{9, 8, 7, 6, 5})
|
||
|
success := 139629729
|
||
|
if goal != success {
|
||
|
t.Errorf("Example 1 was incorrect, got: {%d}, want: {%d}.", goal, success)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestExampleRecursive2(t *testing.T) {
|
||
|
text := "3,52,1001,52,-5,52,3,53,1,52,56,54,1007,54,5,55,1005,55,26,1001,54,-5,54,1105,1,12,1,53,54,53,1008,54,0,55,1001,55,1,55,2,53,55,53,4,53,1001,56,-1,56,1005,56,6,99,0,0,0,0,10"
|
||
|
stringarr := strings.Split(text, ",")
|
||
|
var t2 = []int{}
|
||
|
|
||
|
for _, i := range stringarr {
|
||
|
j, err := strconv.Atoi(i)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
t2 = append(t2, j)
|
||
|
}
|
||
|
goal := RunRecursiveAmplification(t2, []int{9, 7, 8, 5, 6})
|
||
|
success := 18216
|
||
|
if goal != success {
|
||
|
t.Errorf("Example 2 was incorrect, got: {%d}, want: {%d}.", goal, success)
|
||
|
}
|
||
|
}
|