1
2
3
4
5 package test
6
7 import "testing"
8
9 var (
10 n = [16]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}
11 m = [16]int{2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32}
12 )
13
14 func TestEqual(t *testing.T) {
15 if r := move2(n, m, 0); r != n {
16 t.Fatalf("%v != %v", r, n)
17 }
18 if r := move2(n, m, 1); r != m {
19 t.Fatalf("%v != %v", r, m)
20 }
21 if r := move2p(n, m, 0); r != n {
22 t.Fatalf("%v != %v", r, n)
23 }
24 if r := move2p(n, m, 1); r != m {
25 t.Fatalf("%v != %v", r, m)
26 }
27 }
28
29
30 func move2(a, b [16]int, c int) [16]int {
31 e := a
32 f := b
33 var d [16]int
34 if c%2 == 0 {
35 d = e
36 } else {
37 d = f
38 }
39 r := d
40 return r
41 }
42
43
44 func move2p(a, b [16]int, c int) [16]int {
45 e := a
46 f := b
47 var p *[16]int
48 if c%2 == 0 {
49 p = &e
50 } else {
51 p = &f
52 }
53 r := *p
54 return r
55 }
56
View as plain text