Skip to content

Commit 330c197

Browse files
committed
queen-attack: encode position as object instead of string
queen-attack: use rank/file instead of x and y queen-attack: bump major version for queen-attack queen-attack: Use row/column instead of rank/file in test keys queen-attack: use row/column instead of rank/file in json descriptions
1 parent 8aa11e8 commit 330c197

File tree

1 file changed

+83
-26
lines changed

1 file changed

+83
-26
lines changed

exercises/queen-attack/canonical-data.json

Lines changed: 83 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"exercise": "queen-attack",
3-
"version": "1.0.0",
3+
"version": "2.0.0",
44
"comments": [
55
"Testing invalid positions will vary by language. The expected",
66
"value of -1 is there to indicate some sort of failure should",
@@ -18,39 +18,54 @@
1818
"description": "queen with a valid position",
1919
"property": "create",
2020
"queen": {
21-
"position": "(2,2)"
21+
"position": {
22+
"row": 2,
23+
"column": 2
24+
}
2225
},
2326
"expected": 0
2427
},
2528
{
26-
"description": "queen must have positive rank",
29+
"description": "queen must have positive row",
2730
"property": "create",
2831
"queen": {
29-
"position": "(-2,2)"
32+
"position": {
33+
"row": -2,
34+
"column": 2
35+
}
3036
},
3137
"expected": -1
3238
},
3339
{
34-
"description": "queen must have rank on board",
40+
"description": "queen must have row on board",
3541
"property": "create",
3642
"queen": {
37-
"position": "(8,4)"
43+
"position": {
44+
"row": 8,
45+
"column": 4
46+
}
3847
},
3948
"expected": -1
4049
},
4150
{
42-
"description": "queen must have positive file",
51+
"description": "queen must have positive column",
4352
"property": "create",
4453
"queen": {
45-
"position": "(2,-2)"
54+
"position": {
55+
"row": 2,
56+
"column": -2
57+
}
4658
},
4759
"expected": -1
4860
},
4961
{
50-
"description": "queen must have file on board",
62+
"description": "queen must have column on board",
5163
"property": "create",
5264
"queen": {
53-
"position": "(4,8)"
65+
"position": {
66+
"row": 4,
67+
"column": 8
68+
}
5469
},
5570
"expected": -1
5671
}
@@ -63,76 +78,118 @@
6378
"description": "can not attack",
6479
"property": "canAttack",
6580
"white_queen": {
66-
"position": "(2,4)"
81+
"position": {
82+
"row": 2,
83+
"column": 4
84+
}
6785
},
6886
"black_queen": {
69-
"position": "(6,6)"
87+
"position": {
88+
"row": 6,
89+
"column": 6
90+
}
7091
},
7192
"expected": false
7293
},
7394
{
74-
"description": "can attack on same rank",
95+
"description": "can attack on same row",
7596
"property": "canAttack",
7697
"white_queen": {
77-
"position": "(2,4)"
98+
"position": {
99+
"row": 2,
100+
"column": 4
101+
}
78102
},
79103
"black_queen": {
80-
"position": "(2,6)"
104+
"position": {
105+
"row": 2,
106+
"column": 6
107+
}
81108
},
82109
"expected": true
83110
},
84111
{
85-
"description": "can attack on same file",
112+
"description": "can attack on same column",
86113
"property": "canAttack",
87114
"white_queen": {
88-
"position": "(4,5)"
115+
"position": {
116+
"row": 4,
117+
"column": 5
118+
}
89119
},
90120
"black_queen": {
91-
"position": "(2,5)"
121+
"position": {
122+
"row": 2,
123+
"column": 5
124+
}
92125
},
93126
"expected": true
94127
},
95128
{
96129
"description": "can attack on first diagonal",
97130
"property": "canAttack",
98131
"white_queen": {
99-
"position": "(2,2)"
132+
"position": {
133+
"row": 2,
134+
"column": 2
135+
}
100136
},
101137
"black_queen": {
102-
"position": "(0,4)"
138+
"position": {
139+
"row": 0,
140+
"column": 4
141+
}
103142
},
104143
"expected": true
105144
},
106145
{
107146
"description": "can attack on second diagonal",
108147
"property": "canAttack",
109148
"white_queen": {
110-
"position": "(2,2)"
149+
"position": {
150+
"row": 2,
151+
"column": 2
152+
}
111153
},
112154
"black_queen": {
113-
"position": "(3,1)"
155+
"position": {
156+
"row": 3,
157+
"column": 1
158+
}
114159
},
115160
"expected": true
116161
},
117162
{
118163
"description": "can attack on third diagonal",
119164
"property": "canAttack",
120165
"white_queen": {
121-
"position": "(2,2)"
166+
"position": {
167+
"row": 2,
168+
"column": 2
169+
}
122170
},
123171
"black_queen": {
124-
"position": "(1,1)"
172+
"position": {
173+
"row": 1,
174+
"column": 1
175+
}
125176
},
126177
"expected": true
127178
},
128179
{
129180
"description": "can attack on fourth diagonal",
130181
"property": "canAttack",
131182
"white_queen": {
132-
"position": "(2,2)"
183+
"position": {
184+
"row": 2,
185+
"column": 2
186+
}
133187
},
134188
"black_queen": {
135-
"position": "(5,5)"
189+
"position": {
190+
"row": 5,
191+
"column": 5
192+
}
136193
},
137194
"expected": true
138195
}

0 commit comments

Comments
 (0)