From ef30608f64cc6f0d9691959f590cb0068f5adcef Mon Sep 17 00:00:00 2001 From: rbasso Date: Mon, 13 Mar 2017 01:32:59 +0900 Subject: [PATCH 1/4] tournament: Add case with invalid lines and remove examples The object 'invalid_lines' with examples of lines that, if inserted in otherwise-valid games would not affect the output, cannot comply with the new JSON schema, so it is being removed. A new test case with invalid lines based on that object is added. --- exercises/tournament/canonical-data.json | 40 ++++++++++-------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/exercises/tournament/canonical-data.json b/exercises/tournament/canonical-data.json index b6744545b6..e1476bfcb6 100644 --- a/exercises/tournament/canonical-data.json +++ b/exercises/tournament/canonical-data.json @@ -57,31 +57,25 @@ "Blithering Badgers | 3 | 0 | 1 | 2 | 1", "Devastating Donkeys | 3 | 0 | 1 | 2 | 1" ] - } - ] - }, - "invalid_lines": { - "#": [ - "Your track should test that, for each invalid line,", - "inserting the invalid line into an otherwise-valid game still results in valid output.", - "It's suggested to use one of the valid games above." - ], - "cases": [ - { - "description": "an empty line", - "input": "" - }, - { - "description": "wrong separator used", - "input": "Devastating Donkeys@Courageous Californians;draw" - }, - { - "description": "too many separators", - "input": "Devastating Donkeys;Courageous Californians;draw;5" }, { - "description": "invalid match result", - "input": "Devastating Donkeys;Allegoric Alaskans;dra" + "#": [ + "Invalid input lines in an otherwise-valid game", + "still results in valid output." + ], + "description": "mostly invalid lines", + "input": [ + "", + "Allegoric Alaskans@Blithering Badgers;draw", + "Blithering Badgers;Devastating Donkeys;loss", + "Devastating Donkeys;Courageous Californians;win;5", + "Courageous Californians;Allegoric Alaskans;los" + ], + "expected": [ + "Team | MP | W | D | L | P", + "Devastating Donkeys | 1 | 1 | 0 | 0 | 3", + "Blithering Badgers | 1 | 0 | 0 | 1 | 0" + ] } ] } From 80bc6df7d20f17e637e5211633ac8efc903fb94e Mon Sep 17 00:00:00 2001 From: rbasso Date: Mon, 13 Mar 2017 01:47:19 +0900 Subject: [PATCH 2/4] tournament: Make canonical-data.json compliant The version is starting at '1.1.0' because we just added a new test case with invalid input lines. This way we can signal that the test suite changed while being converted to the new schema. --- exercises/tournament/canonical-data.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/exercises/tournament/canonical-data.json b/exercises/tournament/canonical-data.json index e1476bfcb6..6f07d1c18f 100644 --- a/exercises/tournament/canonical-data.json +++ b/exercises/tournament/canonical-data.json @@ -1,13 +1,15 @@ { - "#": [ + "exercise": "tournament", + "version": "1.1.0", + "comments": [ "The inputs and outputs are represented as arrays of strings to improve readability in this JSON file.", "Your track may choose whether to present the input as a single string (concatenating all the lines) or as the list.", "In most cases, it seems to make sense to expect the output as a single string." ], - "valid_inputs": { "cases": [ { "description": "typical input", + "property": "tally", "input": [ "Allegoric Alaskans;Blithering Badgers;win", "Devastating Donkeys;Courageous Californians;draw", @@ -26,6 +28,7 @@ }, { "description": "incomplete competition (not all pairs have played)", + "property": "tally", "input": [ "Allegoric Alaskans;Blithering Badgers;loss", "Devastating Donkeys;Allegoric Alaskans;loss", @@ -42,6 +45,7 @@ }, { "description": "ties broken alphabetically", + "property": "tally", "input": [ "Courageous Californians;Devastating Donkeys;win", "Allegoric Alaskans;Blithering Badgers;win", @@ -59,11 +63,12 @@ ] }, { - "#": [ + "comments": [ "Invalid input lines in an otherwise-valid game", "still results in valid output." ], "description": "mostly invalid lines", + "property": "tally", "input": [ "", "Allegoric Alaskans@Blithering Badgers;draw", @@ -78,5 +83,4 @@ ] } ] - } } From a75f007f4e6a22375fbaae21c38c4721af69d564 Mon Sep 17 00:00:00 2001 From: rbasso Date: Mon, 13 Mar 2017 01:54:07 +0900 Subject: [PATCH 3/4] tournament: Fix canonical-data.json formatting --- exercises/tournament/canonical-data.json | 154 +++++++++++------------ 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/exercises/tournament/canonical-data.json b/exercises/tournament/canonical-data.json index 6f07d1c18f..8259533a54 100644 --- a/exercises/tournament/canonical-data.json +++ b/exercises/tournament/canonical-data.json @@ -6,81 +6,81 @@ "Your track may choose whether to present the input as a single string (concatenating all the lines) or as the list.", "In most cases, it seems to make sense to expect the output as a single string." ], - "cases": [ - { - "description": "typical input", - "property": "tally", - "input": [ - "Allegoric Alaskans;Blithering Badgers;win", - "Devastating Donkeys;Courageous Californians;draw", - "Devastating Donkeys;Allegoric Alaskans;win", - "Courageous Californians;Blithering Badgers;loss", - "Blithering Badgers;Devastating Donkeys;loss", - "Allegoric Alaskans;Courageous Californians;win" - ], - "expected": [ - "Team | MP | W | D | L | P", - "Devastating Donkeys | 3 | 2 | 1 | 0 | 7", - "Allegoric Alaskans | 3 | 2 | 0 | 1 | 6", - "Blithering Badgers | 3 | 1 | 0 | 2 | 3", - "Courageous Californians | 3 | 0 | 1 | 2 | 1" - ] - }, - { - "description": "incomplete competition (not all pairs have played)", - "property": "tally", - "input": [ - "Allegoric Alaskans;Blithering Badgers;loss", - "Devastating Donkeys;Allegoric Alaskans;loss", - "Courageous Californians;Blithering Badgers;draw", - "Allegoric Alaskans;Courageous Californians;win" - ], - "expected": [ - "Team | MP | W | D | L | P", - "Allegoric Alaskans | 3 | 2 | 0 | 1 | 6", - "Blithering Badgers | 2 | 1 | 1 | 0 | 4", - "Courageous Californians | 2 | 0 | 1 | 1 | 1", - "Devastating Donkeys | 1 | 0 | 0 | 1 | 0" - ] - }, - { - "description": "ties broken alphabetically", - "property": "tally", - "input": [ - "Courageous Californians;Devastating Donkeys;win", - "Allegoric Alaskans;Blithering Badgers;win", - "Devastating Donkeys;Allegoric Alaskans;loss", - "Courageous Californians;Blithering Badgers;win", - "Blithering Badgers;Devastating Donkeys;draw", - "Allegoric Alaskans;Courageous Californians;draw" - ], - "expected": [ - "Team | MP | W | D | L | P", - "Allegoric Alaskans | 3 | 2 | 1 | 0 | 7", - "Courageous Californians | 3 | 2 | 1 | 0 | 7", - "Blithering Badgers | 3 | 0 | 1 | 2 | 1", - "Devastating Donkeys | 3 | 0 | 1 | 2 | 1" - ] - }, - { - "comments": [ - "Invalid input lines in an otherwise-valid game", - "still results in valid output." - ], - "description": "mostly invalid lines", - "property": "tally", - "input": [ - "", - "Allegoric Alaskans@Blithering Badgers;draw", - "Blithering Badgers;Devastating Donkeys;loss", - "Devastating Donkeys;Courageous Californians;win;5", - "Courageous Californians;Allegoric Alaskans;los" - ], - "expected": [ - "Team | MP | W | D | L | P", - "Devastating Donkeys | 1 | 1 | 0 | 0 | 3", - "Blithering Badgers | 1 | 0 | 0 | 1 | 0" - ] - } - ] + "cases": [ + { + "description": "typical input", + "property": "tally", + "input": [ + "Allegoric Alaskans;Blithering Badgers;win", + "Devastating Donkeys;Courageous Californians;draw", + "Devastating Donkeys;Allegoric Alaskans;win", + "Courageous Californians;Blithering Badgers;loss", + "Blithering Badgers;Devastating Donkeys;loss", + "Allegoric Alaskans;Courageous Californians;win" + ], + "expected": [ + "Team | MP | W | D | L | P", + "Devastating Donkeys | 3 | 2 | 1 | 0 | 7", + "Allegoric Alaskans | 3 | 2 | 0 | 1 | 6", + "Blithering Badgers | 3 | 1 | 0 | 2 | 3", + "Courageous Californians | 3 | 0 | 1 | 2 | 1" + ] + }, + { + "description": "incomplete competition (not all pairs have played)", + "property": "tally", + "input": [ + "Allegoric Alaskans;Blithering Badgers;loss", + "Devastating Donkeys;Allegoric Alaskans;loss", + "Courageous Californians;Blithering Badgers;draw", + "Allegoric Alaskans;Courageous Californians;win" + ], + "expected": [ + "Team | MP | W | D | L | P", + "Allegoric Alaskans | 3 | 2 | 0 | 1 | 6", + "Blithering Badgers | 2 | 1 | 1 | 0 | 4", + "Courageous Californians | 2 | 0 | 1 | 1 | 1", + "Devastating Donkeys | 1 | 0 | 0 | 1 | 0" + ] + }, + { + "description": "ties broken alphabetically", + "property": "tally", + "input": [ + "Courageous Californians;Devastating Donkeys;win", + "Allegoric Alaskans;Blithering Badgers;win", + "Devastating Donkeys;Allegoric Alaskans;loss", + "Courageous Californians;Blithering Badgers;win", + "Blithering Badgers;Devastating Donkeys;draw", + "Allegoric Alaskans;Courageous Californians;draw" + ], + "expected": [ + "Team | MP | W | D | L | P", + "Allegoric Alaskans | 3 | 2 | 1 | 0 | 7", + "Courageous Californians | 3 | 2 | 1 | 0 | 7", + "Blithering Badgers | 3 | 0 | 1 | 2 | 1", + "Devastating Donkeys | 3 | 0 | 1 | 2 | 1" + ] + }, + { + "comments": [ + "Invalid input lines in an otherwise-valid game", + "still results in valid output." + ], + "description": "mostly invalid lines", + "property": "tally", + "input": [ + "", + "Allegoric Alaskans@Blithering Badgers;draw", + "Blithering Badgers;Devastating Donkeys;loss", + "Devastating Donkeys;Courageous Californians;win;5", + "Courageous Californians;Allegoric Alaskans;los" + ], + "expected": [ + "Team | MP | W | D | L | P", + "Devastating Donkeys | 1 | 1 | 0 | 0 | 3", + "Blithering Badgers | 1 | 0 | 0 | 1 | 0" + ] + } + ] } From 877cd7d32c56ef48d5087dbffcd50d7669f98436 Mon Sep 17 00:00:00 2001 From: rbasso Date: Mon, 13 Mar 2017 01:55:49 +0900 Subject: [PATCH 4/4] tournament: Fix comments to fit in 80 columns --- exercises/tournament/canonical-data.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/exercises/tournament/canonical-data.json b/exercises/tournament/canonical-data.json index 8259533a54..9d975529b6 100644 --- a/exercises/tournament/canonical-data.json +++ b/exercises/tournament/canonical-data.json @@ -2,9 +2,12 @@ "exercise": "tournament", "version": "1.1.0", "comments": [ - "The inputs and outputs are represented as arrays of strings to improve readability in this JSON file.", - "Your track may choose whether to present the input as a single string (concatenating all the lines) or as the list.", - "In most cases, it seems to make sense to expect the output as a single string." + "The inputs and outputs are represented as arrays of strings to", + "improve readability in this JSON file.", + "Your track may choose whether to present the input as a single", + "string (concatenating all the lines) or as the list.", + "In most cases, it seems to make sense to expect the output as", + "a single string." ], "cases": [ {