package main import ( "testing" ) var example = ` [D] [N] [C] [Z] [M] [P] 1 2 3 move 1 from 2 to 1 move 3 from 1 to 3 move 2 from 2 to 1 move 1 from 1 to 2` func Test_part1(t *testing.T) { tests := []struct { name string input string want string }{ { name: "example", input: example, want: "CMZ", }, { name: "actual", input: input, want: "QNHWJVJZW", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := part1(tt.input); got != tt.want { t.Errorf("part1() = %v, want %v", got, tt.want) } }) } } func Test_part2(t *testing.T) { tests := []struct { name string input string want string }{ { name: "example", input: example, want: "MCD", }, { name: "actual", input: input, want: "BPCZJLFJW", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := part2(tt.input); got != tt.want { t.Errorf("part2() = %v, want %v", got, tt.want) } }) } }