From 8bfc8799802f156a57333a4933274eeb9c710afd Mon Sep 17 00:00:00 2001 From: rbasso Date: Mon, 6 Mar 2017 21:30:14 +0900 Subject: [PATCH 1/2] all-your-base: Make canonical-data.json compliant --- exercises/all-your-base/canonical-data.json | 25 ++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/exercises/all-your-base/canonical-data.json b/exercises/all-your-base/canonical-data.json index 8c503f9b39..34cfe7db8f 100644 --- a/exercises/all-your-base/canonical-data.json +++ b/exercises/all-your-base/canonical-data.json @@ -1,5 +1,7 @@ { - "#": [ "It's up to each track do decide:" + "exercise": "all-your-base", + "version": "1.0.0", + "comments": [ "It's up to each track do decide:" , "" , "1. What's the canonical representation of zero?" , " - []?" @@ -20,126 +22,147 @@ ], "cases": [ { "description" : "single bit one to decimal" + , "property": "rebase" , "input_base" : 2 , "input_digits" : [1] , "output_base" : 10 , "expected" : [1] }, { "description" : "binary to single decimal" + , "property": "rebase" , "input_base" : 2 , "input_digits" : [1, 0, 1] , "output_base" : 10 , "expected" : [5] }, { "description" : "single decimal to binary" + , "property": "rebase" , "input_base" : 10 , "input_digits" : [5] , "output_base" : 2 , "expected" : [1, 0, 1] }, { "description" : "binary to multiple decimal" + , "property": "rebase" , "input_base" : 2 , "input_digits" : [1, 0, 1, 0, 1, 0] , "output_base" : 10 , "expected" : [4, 2] }, { "description" : "decimal to binary" + , "property": "rebase" , "input_base" : 10 , "input_digits" : [4, 2] , "output_base" : 2 , "expected" : [1, 0, 1, 0, 1, 0] }, { "description" : "trinary to hexadecimal" + , "property": "rebase" , "input_base" : 3 , "input_digits" : [1, 1, 2, 0] , "output_base" : 16 , "expected" : [2, 10] }, { "description" : "hexadecimal to trinary" + , "property": "rebase" , "input_base" : 16 , "input_digits" : [2, 10] , "output_base" : 3 , "expected" : [1, 1, 2, 0] }, { "description" : "15-bit integer" + , "property": "rebase" , "input_base" : 97 , "input_digits" : [3,46,60] , "output_base" : 73 , "expected" : [6,10,45] }, { "description" : "empty list" + , "property": "rebase" , "input_base" : 2 , "input_digits" : [] , "output_base" : 10 , "expected" : null }, { "description" : "single zero" + , "property": "rebase" , "input_base" : 10 , "input_digits" : [0] , "output_base" : 2 , "expected" : null }, { "description" : "multiple zeros" + , "property": "rebase" , "input_base" : 10 , "input_digits" : [0, 0, 0] , "output_base" : 2 , "expected" : null }, { "description" : "leading zeros" + , "property": "rebase" , "input_base" : 7 , "input_digits" : [0, 6, 0] , "output_base" : 10 , "expected" : null }, { "description" : "negative digit" + , "property": "rebase" , "input_base" : 2 , "input_digits" : [1, -1, 1, 0, 1, 0] , "output_base" : 10 , "expected" : null }, { "description" : "invalid positive digit" + , "property": "rebase" , "input_base" : 2 , "input_digits" : [1, 2, 1, 0, 1, 0] , "output_base" : 10 , "expected" : null }, { "description" : "first base is one" + , "property": "rebase" , "input_base" : 1 , "input_digits" : [] , "output_base" : 10 , "expected" : null }, { "description" : "second base is one" + , "property": "rebase" , "input_base" : 2 , "input_digits" : [1, 0, 1, 0, 1, 0] , "output_base" : 1 , "expected" : null }, { "description" : "first base is zero" + , "property": "rebase" , "input_base" : 0 , "input_digits" : [] , "output_base" : 10 , "expected" : null }, { "description" : "second base is zero" + , "property": "rebase" , "input_base" : 10 , "input_digits" : [7] , "output_base" : 0 , "expected" : null }, { "description" : "first base is negative" + , "property": "rebase" , "input_base" : -2 , "input_digits" : [1] , "output_base" : 10 , "expected" : null }, { "description" : "second base is negative" + , "property": "rebase" , "input_base" : 2 , "input_digits" : [1] , "output_base" : -7 , "expected" : null }, { "description" : "both bases are negative" + , "property": "rebase" , "input_base" : -2 , "input_digits" : [1] , "output_base" : -7 From 39de23b0de86f1be018c5b62d1dd5b952349f286 Mon Sep 17 00:00:00 2001 From: rbasso Date: Mon, 6 Mar 2017 21:37:38 +0900 Subject: [PATCH 2/2] all-your-base: Fix canonical-data.json formatting Considering that some reformatting would be necessary to make the comments aligned and that the file has an unusual formatting, I took the opportunity to reformat it entirely, to increase consistency with similar files. --- exercises/all-your-base/canonical-data.json | 357 +++++++++++--------- 1 file changed, 190 insertions(+), 167 deletions(-) diff --git a/exercises/all-your-base/canonical-data.json b/exercises/all-your-base/canonical-data.json index 34cfe7db8f..806c1148b7 100644 --- a/exercises/all-your-base/canonical-data.json +++ b/exercises/all-your-base/canonical-data.json @@ -1,171 +1,194 @@ { "exercise": "all-your-base", "version": "1.0.0", - "comments": [ "It's up to each track do decide:" - , "" - , "1. What's the canonical representation of zero?" - , " - []?" - , " - [0]?" - , "" - , "2. What representations of zero are allowed?" - , " - []?" - , " - [0]?" - , " - [0,0]?" - , "" - , "3. Are leading zeroes allowed?" - , "" - , "4. How should invalid input be handled?" - , "" - , "All the undefined cases are marked as null." - , "" - , "All your numeric-base are belong to [2..]. :)" - ], - "cases": [ - { "description" : "single bit one to decimal" - , "property": "rebase" - , "input_base" : 2 - , "input_digits" : [1] - , "output_base" : 10 - , "expected" : [1] - }, - { "description" : "binary to single decimal" - , "property": "rebase" - , "input_base" : 2 - , "input_digits" : [1, 0, 1] - , "output_base" : 10 - , "expected" : [5] - }, - { "description" : "single decimal to binary" - , "property": "rebase" - , "input_base" : 10 - , "input_digits" : [5] - , "output_base" : 2 - , "expected" : [1, 0, 1] - }, - { "description" : "binary to multiple decimal" - , "property": "rebase" - , "input_base" : 2 - , "input_digits" : [1, 0, 1, 0, 1, 0] - , "output_base" : 10 - , "expected" : [4, 2] - }, - { "description" : "decimal to binary" - , "property": "rebase" - , "input_base" : 10 - , "input_digits" : [4, 2] - , "output_base" : 2 - , "expected" : [1, 0, 1, 0, 1, 0] - }, - { "description" : "trinary to hexadecimal" - , "property": "rebase" - , "input_base" : 3 - , "input_digits" : [1, 1, 2, 0] - , "output_base" : 16 - , "expected" : [2, 10] - }, - { "description" : "hexadecimal to trinary" - , "property": "rebase" - , "input_base" : 16 - , "input_digits" : [2, 10] - , "output_base" : 3 - , "expected" : [1, 1, 2, 0] - }, - { "description" : "15-bit integer" - , "property": "rebase" - , "input_base" : 97 - , "input_digits" : [3,46,60] - , "output_base" : 73 - , "expected" : [6,10,45] - }, - { "description" : "empty list" - , "property": "rebase" - , "input_base" : 2 - , "input_digits" : [] - , "output_base" : 10 - , "expected" : null - }, - { "description" : "single zero" - , "property": "rebase" - , "input_base" : 10 - , "input_digits" : [0] - , "output_base" : 2 - , "expected" : null - }, - { "description" : "multiple zeros" - , "property": "rebase" - , "input_base" : 10 - , "input_digits" : [0, 0, 0] - , "output_base" : 2 - , "expected" : null - }, - { "description" : "leading zeros" - , "property": "rebase" - , "input_base" : 7 - , "input_digits" : [0, 6, 0] - , "output_base" : 10 - , "expected" : null - }, - { "description" : "negative digit" - , "property": "rebase" - , "input_base" : 2 - , "input_digits" : [1, -1, 1, 0, 1, 0] - , "output_base" : 10 - , "expected" : null - }, - { "description" : "invalid positive digit" - , "property": "rebase" - , "input_base" : 2 - , "input_digits" : [1, 2, 1, 0, 1, 0] - , "output_base" : 10 - , "expected" : null - }, - { "description" : "first base is one" - , "property": "rebase" - , "input_base" : 1 - , "input_digits" : [] - , "output_base" : 10 - , "expected" : null - }, - { "description" : "second base is one" - , "property": "rebase" - , "input_base" : 2 - , "input_digits" : [1, 0, 1, 0, 1, 0] - , "output_base" : 1 - , "expected" : null - }, - { "description" : "first base is zero" - , "property": "rebase" - , "input_base" : 0 - , "input_digits" : [] - , "output_base" : 10 - , "expected" : null - }, - { "description" : "second base is zero" - , "property": "rebase" - , "input_base" : 10 - , "input_digits" : [7] - , "output_base" : 0 - , "expected" : null - }, - { "description" : "first base is negative" - , "property": "rebase" - , "input_base" : -2 - , "input_digits" : [1] - , "output_base" : 10 - , "expected" : null - }, - { "description" : "second base is negative" - , "property": "rebase" - , "input_base" : 2 - , "input_digits" : [1] - , "output_base" : -7 - , "expected" : null - }, - { "description" : "both bases are negative" - , "property": "rebase" - , "input_base" : -2 - , "input_digits" : [1] - , "output_base" : -7 - , "expected" : null - } ] + "comments": [ + "It's up to each track do decide:", + "", + "1. What's the canonical representation of zero?", + " - []?", + " - [0]?", + "", + "2. What representations of zero are allowed?", + " - []?", + " - [0]?", + " - [0,0]?", + "", + "3. Are leading zeroes allowed?", + "", + "4. How should invalid input be handled?", + "", + "All the undefined cases are marked as null.", + "", + "All your numeric-base are belong to [2..]. :)" + ], + "cases": [ + { + "description": "single bit one to decimal", + "property": "rebase", + "input_base": 2, + "input_digits": [1], + "output_base": 10, + "expected": [1] + }, + { + "description": "binary to single decimal", + "property": "rebase", + "input_base": 2, + "input_digits": [1, 0, 1], + "output_base": 10, + "expected": [5] + }, + { + "description": "single decimal to binary", + "property": "rebase", + "input_base": 10, + "input_digits": [5], + "output_base": 2, + "expected": [1, 0, 1] + }, + { + "description": "binary to multiple decimal", + "property": "rebase", + "input_base": 2, + "input_digits": [1, 0, 1, 0, 1, 0], + "output_base": 10, + "expected": [4, 2] + }, + { + "description": "decimal to binary", + "property": "rebase", + "input_base": 10, + "input_digits": [4, 2], + "output_base": 2, + "expected": [1, 0, 1, 0, 1, 0] + }, + { + "description": "trinary to hexadecimal", + "property": "rebase", + "input_base": 3, + "input_digits": [1, 1, 2, 0], + "output_base": 16, + "expected": [2, 10] + }, + { + "description": "hexadecimal to trinary", + "property": "rebase", + "input_base": 16, + "input_digits": [2, 10], + "output_base": 3, + "expected": [1, 1, 2, 0] + }, + { + "description": "15-bit integer", + "property": "rebase", + "input_base": 97, + "input_digits": [3, 46, 60], + "output_base": 73, + "expected": [6, 10, 45] + }, + { + "description": "empty list", + "property": "rebase", + "input_base": 2, + "input_digits": [], + "output_base": 10, + "expected": null + }, + { + "description": "single zero", + "property": "rebase", + "input_base": 10, + "input_digits": [0], + "output_base": 2, + "expected": null + }, + { + "description": "multiple zeros", + "property": "rebase", + "input_base": 10, + "input_digits": [0, 0, 0], + "output_base": 2, + "expected": null + }, + { + "description": "leading zeros", + "property": "rebase", + "input_base": 7, + "input_digits": [0, 6, 0], + "output_base": 10, + "expected": null + }, + { + "description": "negative digit", + "property": "rebase", + "input_base": 2, + "input_digits": [1, -1, 1, 0, 1, 0], + "output_base": 10, + "expected": null + }, + { + "description": "invalid positive digit", + "property": "rebase", + "input_base": 2, + "input_digits": [1, 2, 1, 0, 1, 0], + "output_base": 10, + "expected": null + }, + { + "description": "first base is one", + "property": "rebase", + "input_base": 1, + "input_digits": [], + "output_base": 10, + "expected": null + }, + { + "description": "second base is one", + "property": "rebase", + "input_base": 2, + "input_digits": [1, 0, 1, 0, 1, 0], + "output_base": 1, + "expected": null + }, + { + "description": "first base is zero", + "property": "rebase", + "input_base": 0, + "input_digits": [], + "output_base": 10, + "expected": null + }, + { + "description": "second base is zero", + "property": "rebase", + "input_base": 10, + "input_digits": [7], + "output_base": 0, + "expected": null + }, + { + "description": "first base is negative", + "property": "rebase", + "input_base": -2, + "input_digits": [1], + "output_base": 10, + "expected": null + }, + { + "description": "second base is negative", + "property": "rebase", + "input_base": 2, + "input_digits": [1], + "output_base": -7, + "expected": null + }, + { + "description": "both bases are negative", + "property": "rebase", + "input_base": -2, + "input_digits": [1], + "output_base": -7, + "expected": null + } + ] }