diff --git a/exercises/queen-attack/canonical-data.json b/exercises/queen-attack/canonical-data.json index be5a916b91..7bfea89457 100644 --- a/exercises/queen-attack/canonical-data.json +++ b/exercises/queen-attack/canonical-data.json @@ -1,5 +1,7 @@ { - "#": [ + "exercise": "queen-attack", + "version": "1.0.0", + "comments": [ "Testing invalid positions will vary by language. The expected", "value of -1 is there to indicate some sort of failure should", "occur, while a 0 means no failure.", @@ -8,119 +10,133 @@ "the board graphically, or using standard chess notation. Those", "tests can be offered as extra credit" ], - "create": { - "description": "Test creation of Queens with valid and invalid positions", - "cases" : [ - { - "description": "queen with a valid position", - "queen": { - "position": "(2,2)" + "cases": [ + { + "description": "Test creation of Queens with valid and invalid positions", + "cases": [ + { + "description": "queen with a valid position", + "property": "create", + "queen": { + "position": "(2,2)" + }, + "expected": 0 }, - "expected": 0 - }, - { - "description": "queen must have positive rank", - "queen": { - "position": "(-2,2)" + { + "description": "queen must have positive rank", + "property": "create", + "queen": { + "position": "(-2,2)" + }, + "expected": -1 }, - "expected": -1 - }, - { - "description": "queen must have rank on board", - "queen": { - "position": "(8,4)" + { + "description": "queen must have rank on board", + "property": "create", + "queen": { + "position": "(8,4)" + }, + "expected": -1 }, - "expected": -1 - }, - { - "description": "queen must have positive file", - "queen": { - "position": "(2,-2)" + { + "description": "queen must have positive file", + "property": "create", + "queen": { + "position": "(2,-2)" + }, + "expected": -1 }, - "expected": -1 - }, - { - "description": "queen must have file on board", - "queen": { - "position": "(4,8)" + { + "description": "queen must have file on board", + "property": "create", + "queen": { + "position": "(4,8)" + }, + "expected": -1 + } + ] + }, + { + "description": "Test the ability of one queen to attack another", + "cases": [ + { + "description": "can not attack", + "property": "canAttack", + "white_queen": { + "position": "(2,4)" + }, + "black_queen": { + "position": "(6,6)" + }, + "expected": false }, - "expected": -1 - } - ] - }, - "can_attack": { - "description": "Test the ability of one queen to attack another", - "cases": [ - { - "description": "can not attack", - "white_queen": { - "position": "(2,4)" + { + "description": "can attack on same rank", + "property": "canAttack", + "white_queen": { + "position": "(2,4)" + }, + "black_queen": { + "position": "(2,6)" + }, + "expected": true }, - "black_queen": { - "position": "(6,6)" + { + "description": "can attack on same file", + "property": "canAttack", + "white_queen": { + "position": "(4,5)" + }, + "black_queen": { + "position": "(2,5)" + }, + "expected": true }, - "expected": false - }, - { - "description": "can attack on same rank", - "white_queen": { - "position": "(2,4)" - }, - "black_queen": { - "position": "(2,6)" - }, - "expected": true - }, - { - "description": "can attack on same file", - "white_queen": { - "position": "(4,5)" - }, - "black_queen": { - "position": "(2,5)" - }, - "expected": true - }, - { - "description": "can attack on first diagonal", - "white_queen": { - "position": "(2,2)" - }, - "black_queen": { - "position": "(0,4)" - }, - "expected": true - }, - { - "description": "can attack on second diagonal", - "white_queen": { - "position": "(2,2)" - }, - "black_queen": { - "position": "(3,1)" - }, - "expected": true - }, - { - "description": "can attack on third diagonal", - "white_queen": { - "position": "(2,2)" - }, - "black_queen": { - "position": "(1,1)" - }, - "expected": true - }, - { - "description": "can attack on fourth diagonal", - "white_queen": { - "position": "(2,2)" - }, - "black_queen": { - "position": "(5,5)" - }, - "expected": true - } - ] - } + { + "description": "can attack on first diagonal", + "property": "canAttack", + "white_queen": { + "position": "(2,2)" + }, + "black_queen": { + "position": "(0,4)" + }, + "expected": true + }, + { + "description": "can attack on second diagonal", + "property": "canAttack", + "white_queen": { + "position": "(2,2)" + }, + "black_queen": { + "position": "(3,1)" + }, + "expected": true + }, + { + "description": "can attack on third diagonal", + "property": "canAttack", + "white_queen": { + "position": "(2,2)" + }, + "black_queen": { + "position": "(1,1)" + }, + "expected": true + }, + { + "description": "can attack on fourth diagonal", + "property": "canAttack", + "white_queen": { + "position": "(2,2)" + }, + "black_queen": { + "position": "(5,5)" + }, + "expected": true + } + ] + } + ] }