diff --git a/exercises/change/canonical-data.json b/exercises/change/canonical-data.json index 349760e010..d1c95f928b 100644 --- a/exercises/change/canonical-data.json +++ b/exercises/change/canonical-data.json @@ -1,71 +1,83 @@ { - "find_fewest_coins": { - "description": [ - "Given an infinite supply of coins with different values, ", - "find the smallest number of coins needed to make a desired ", - "amount of change." - ], - "cases": [ - { - "description": "single coin change", - "coins": [1, 5, 10, 25, 100], - "target": 25, - "expected": [25] - }, - { - "description": "multiple coin change", - "coins": [1, 5, 10, 25, 100], - "target": 15, - "expected": [5, 10] - }, - { - "description": "change with Lilliputian Coins", - "coins": [1, 4, 15, 20, 50], - "target": 23, - "expected": [4, 4, 15] - }, - { - "description": "change with Lower Elbonia Coins", - "coins": [1, 5, 10, 21, 25], - "target": 63, - "expected": [21, 21, 21] - }, - { - "description": "large target values", - "coins": [1, 2, 5, 10, 20, 50, 100], - "target": 999, - "expected": [2, 2, 5, 20, 20, 50, 100, 100, 100, 100, 100, 100, 100, 100, 100] - }, - { - "description": "possible change without unit coins available", - "coins": [2, 5, 10, 20, 50], - "target": 21, - "expected": [2, 2, 2, 5, 10] - }, - { - "description": "no coins make 0 change", - "coins": [1, 5, 10, 21, 25], - "target": 0, - "expected": [] - }, - { - "description": "error testing for change smaller than the smallest of coins", - "coins": [5, 10], - "target": 3, - "expected": -1 - }, - { - "description": "error if no combination can add up to target", - "coins": [5, 10], - "target": 94, - "expected": -1 - }, - { - "description": "cannot find negative change values", - "coins": [1, 2, 5], - "target": -5, - "expected": -1 - } - ] + "exercise": "change", + "version": "1.0.0", + "comments": [ + "Given an infinite supply of coins with different values, ", + "find the smallest number of coins needed to make a desired ", + "amount of change." + ], + "cases": [ + { + "description": "single coin change", + "property": "findFewestCoins", + "coins": [1, 5, 10, 25, 100], + "target": 25, + "expected": [25] + }, + { + "description": "multiple coin change", + "property": "findFewestCoins", + "coins": [1, 5, 10, 25, 100], + "target": 15, + "expected": [5, 10] + }, + { + "description": "change with Lilliputian Coins", + "property": "findFewestCoins", + "coins": [1, 4, 15, 20, 50], + "target": 23, + "expected": [4, 4, 15] + }, + { + "description": "change with Lower Elbonia Coins", + "property": "findFewestCoins", + "coins": [1, 5, 10, 21, 25], + "target": 63, + "expected": [21, 21, 21] + }, + { + "description": "large target values", + "property": "findFewestCoins", + "coins": [1, 2, 5, 10, 20, 50, 100], + "target": 999, + "expected": [ 2, 2, 5, 20, 20 + , 50, 100, 100, 100, 100 + , 100, 100, 100, 100, 100 ] + }, + { + "description": "possible change without unit coins available", + "property": "findFewestCoins", + "coins": [2, 5, 10, 20, 50], + "target": 21, + "expected": [2, 2, 2, 5, 10] + }, + { + "description": "no coins make 0 change", + "property": "findFewestCoins", + "coins": [1, 5, 10, 21, 25], + "target": 0, + "expected": [] + }, + { + "description": "error testing for change smaller than the smallest of coins", + "property": "findFewestCoins", + "coins": [5, 10], + "target": 3, + "expected": -1 + }, + { + "description": "error if no combination can add up to target", + "property": "findFewestCoins", + "coins": [5, 10], + "target": 94, + "expected": -1 + }, + { + "description": "cannot find negative change values", + "property": "findFewestCoins", + "coins": [1, 2, 5], + "target": -5, + "expected": -1 } + ] }