package intcodeprocessor import ( "testing" ) func TestNewAddProgram(t *testing.T) { strt := []int{1, 0, 0, 0, 99} want := []int{2, 0, 0, 0, 99} p := NewProgram(strt) p.Run() if !intSliceEquals(p.GetCode(), want) { t.Errorf("Program.GetCode() = %q, want %q", p.GetCode(), want) } } func TestNewMultProgram(t *testing.T) { strt := []int{2, 3, 0, 3, 99} want := []int{2, 3, 0, 6, 99} p := NewProgram(strt) p.Run() if !intSliceEquals(p.GetCode(), want) { t.Errorf("Program.GetCode() = %q, want %q", p.GetCode(), want) } } func intSliceEquals(s1, s2 []int) bool { for k := range s1 { if s1[k] != s2[k] { return false } } return true }