tracks/perl6/exercises/allergies/allergies.t in trackler-2.2.1.86 vs tracks/perl6/exercises/allergies/allergies.t in trackler-2.2.1.87
- old
+ new
@@ -26,11 +26,11 @@
subtest 'allergic-to' => {
plan 7;
for %case-set<cases>.values -> %case {
for %case<expected>.values {
- given allergic-to %case<score>, .<substance> -> $result {
+ given allergic-to %case<input><score>, .<substance> -> $result {
subtest %case<description> ~ ': ' ~ .<substance> => {
plan 2;
isa-ok $result, Bool;
is-deeply $result, .<result>, 'Result matches expected';
}
@@ -40,22 +40,22 @@
} when %case-set<description> ~~ 'allergicTo';
subtest 'list-allergies' => {
plan 9;
for %case-set<cases>.values {
- cmp-ok list-allergies(.<score>), '~~', .<expected>.Set, .<description>;
+ cmp-ok list-allergies(.<input><score>), '~~', .<expected>.Set, .<description>;
}
} when %case-set<description> ~~ 'list';
}
=head2 Canonical Data
=begin code
{
"exercise": "allergies",
- "version": "1.0.0",
+ "version": "1.1.0",
"cases": [
{
"description": "allergicTo",
"comments": [
"Given a number and a substance, indicate whether Tom is allergic ",
@@ -66,11 +66,13 @@
],
"cases": [
{
"description": "no allergies means not allergic",
"property": "allergicTo",
- "score": 0,
+ "input": {
+ "score": 0
+ },
"expected": [
{
"substance": "peanuts",
"result": false
},
@@ -85,22 +87,26 @@
]
},
{
"description": "is allergic to eggs",
"property": "allergicTo",
- "score": 1,
+ "input": {
+ "score": 1
+ },
"expected": [
{
"substance": "eggs",
"result": true
}
]
},
{
"description": "allergic to eggs in addition to other stuff",
"property": "allergicTo",
- "score": 5,
+ "input": {
+ "score": 5
+ },
"expected": [
{
"substance": "eggs",
"result": true
},
@@ -123,58 +129,74 @@
],
"cases": [
{
"description": "no allergies at all",
"property": "list",
- "score": 0,
+ "input": {
+ "score": 0
+ },
"expected": []
},
{
"description": "allergic to just eggs",
"property": "list",
- "score": 1,
+ "input": {
+ "score": 1
+ },
"expected": ["eggs"]
},
{
"description": "allergic to just peanuts",
"property": "list",
- "score": 2,
+ "input": {
+ "score": 2
+ },
"expected": ["peanuts"]
},
{
"description": "allergic to just strawberries",
"property": "list",
- "score": 8,
+ "input": {
+ "score": 8
+ },
"expected": ["strawberries"]
},
{
"description": "allergic to eggs and peanuts",
"property": "list",
- "score": 3,
+ "input": {
+ "score": 3
+ },
"expected": ["eggs", "peanuts"]
},
{
"description": "allergic to more than eggs but not peanuts",
"property": "list",
- "score": 5,
+ "input": {
+ "score": 5
+ },
"expected": ["eggs", "shellfish"]
},
{
"description": "allergic to lots of stuff",
"property": "list",
- "score": 248,
+ "input": {
+ "score": 248
+ },
"expected": [ "strawberries",
"tomatoes",
"chocolate",
"pollen",
"cats"
]
},
{
"description": "allergic to everything",
"property": "list",
- "score": 255,
+ "input": {
+ "score": 255
+ },
"expected": [ "eggs",
"peanuts",
"shellfish",
"strawberries",
"tomatoes",
@@ -184,10 +206,12 @@
]
},
{
"description": "ignore non allergen score parts",
"property": "list",
- "score": 509,
+ "input": {
+ "score": 509
+ },
"expected": [ "eggs",
"shellfish",
"strawberries",
"tomatoes",
"chocolate",