summary refs log tree commit diff stats
path: root/raku/two-fer/two-fer.rakutest
diff options
context:
space:
mode:
authorAndinus <andinus@nand.sh>2021-08-11 15:26:15 +0530
committerAndinus <andinus@nand.sh>2021-08-11 15:26:15 +0530
commit321825828ac918bad28d0597a8616c6dc9802c3c (patch)
tree0b8e9cb1012197750eb58e972736319b2a6abac2 /raku/two-fer/two-fer.rakutest
parent2979ef790ac5b8f58495e0dd08cafd6a3a2e30a5 (diff)
downloadexercism-321825828ac918bad28d0597a8616c6dc9802c3c.tar.gz
Add solved exercises
Diffstat (limited to 'raku/two-fer/two-fer.rakutest')
-rw-r--r--raku/two-fer/two-fer.rakutest49
1 files changed, 49 insertions, 0 deletions
diff --git a/raku/two-fer/two-fer.rakutest b/raku/two-fer/two-fer.rakutest
new file mode 100644
index 0000000..f79c03e
--- /dev/null
+++ b/raku/two-fer/two-fer.rakutest
@@ -0,0 +1,49 @@
+#!/usr/bin/env raku
+use Test;
+use JSON::Fast;
+use lib $?FILE.IO.dirname; #`[Look for the module inside the same directory as this test file.]
+use TwoFer;
+plan 3; #`[This is how many tests we expect to run.]
+
+my @test-cases = from-json($=pod.pop.contents).List;
+# Go through the cases and check that &two-fer gives us the correct response.
+for @test-cases -> %case {
+  is do {
+    with %case<input><name> {
+      .&two-fer;
+    }
+    else {
+      two-fer;
+    }
+  }, |%case<expected description>;
+}
+
+=head2 Test Cases
+=begin code
+[
+  {
+    "description": "no name given",
+    "expected": "One for you, one for me.",
+    "input": {
+      "name": null
+    },
+    "property": "twoFer"
+  },
+  {
+    "description": "a name given",
+    "expected": "One for Alice, one for me.",
+    "input": {
+      "name": "Alice"
+    },
+    "property": "twoFer"
+  },
+  {
+    "description": "another name given",
+    "expected": "One for Bob, one for me.",
+    "input": {
+      "name": "Bob"
+    },
+    "property": "twoFer"
+  }
+]
+=end code