trackler 2.2.1.60 → 2.2.1.61

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/beer-song/canonical-data.json +366 -31
  4. data/problem-specifications/exercises/beer-song/description.md +1 -1
  5. data/problem-specifications/exercises/pascals-triangle/canonical-data.json +19 -1
  6. data/problem-specifications/exercises/proverb/canonical-data.json +91 -0
  7. data/problem-specifications/exercises/proverb/description.md +5 -3
  8. data/tracks/c/README.md +0 -10
  9. data/tracks/c/config/maintainers.json +45 -0
  10. data/tracks/c/config.json +1 -2
  11. data/tracks/c/docs/TESTS.md +43 -44
  12. data/tracks/d/docs/INSTALLATION.md +1 -1
  13. data/tracks/delphi/exercises/beer-song/README.md +1 -1
  14. data/tracks/delphi/exercises/beer-song/inputdata.txt +3 -1
  15. data/tracks/delphi/exercises/beer-song/uBeerSongExample.pas +14 -5
  16. data/tracks/delphi/exercises/beer-song/uBeerSongTests.pas +58 -42
  17. data/tracks/delphi/exercises/nucleotide-count/README.md +2 -2
  18. data/tracks/ecmascript/config.json +14 -0
  19. data/tracks/ecmascript/exercises/house/README.md +146 -0
  20. data/tracks/ecmascript/exercises/house/example.js +62 -0
  21. data/tracks/ecmascript/exercises/house/house.spec.js +292 -0
  22. data/tracks/ecmascript/exercises/house/package.json +71 -0
  23. data/tracks/go/exercises/allergies/example.go +3 -2
  24. data/tracks/go/exercises/custom-set/cases_test.go +7 -2
  25. data/tracks/go/exercises/isogram/.meta/gen.go +55 -0
  26. data/tracks/go/exercises/isogram/cases_test.go +57 -0
  27. data/tracks/go/exercises/isogram/isogram_test.go +4 -20
  28. data/tracks/java/config.json +7 -1
  29. data/tracks/java/exercises/luhn/src/test/java/LuhnValidatorTest.java +6 -1
  30. data/tracks/javascript/.eslintignore +0 -3
  31. data/tracks/javascript/exercises/acronym/example.js +2 -1
  32. data/tracks/javascript/exercises/diamond/diamond.spec.js +3 -3
  33. data/tracks/javascript/exercises/diamond/example.js +2 -2
  34. data/tracks/javascript/exercises/sum-of-multiples/sum-of-multiples.spec.js +9 -9
  35. data/tracks/python/config.json +33 -11
  36. data/tracks/python/exercises/dominoes/README.md +28 -0
  37. data/tracks/python/exercises/dominoes/dominoes.py +2 -0
  38. data/tracks/python/exercises/dominoes/dominoes_test.py +114 -0
  39. data/tracks/python/exercises/dominoes/example.py +30 -0
  40. data/tracks/python/exercises/grains/grains_test.py +5 -7
  41. data/tracks/python/exercises/phone-number/example.py +7 -13
  42. data/tracks/python/exercises/phone-number/phone_number_test.py +15 -15
  43. data/tracks/python/exercises/poker/poker_test.py +93 -52
  44. data/tracks/python/exercises/react/README.md +30 -0
  45. data/tracks/python/exercises/react/example.py +65 -0
  46. data/tracks/python/exercises/react/react.py +17 -0
  47. data/tracks/python/exercises/react/react_test.py +136 -0
  48. data/tracks/rust/exercises/pascals-triangle/Cargo.toml +1 -1
  49. data/tracks/rust/exercises/pascals-triangle/tests/pascals-triangle.rs +56 -0
  50. data/tracks/swift/Package.swift +1 -1
  51. data/tracks/swift/config.json +11 -0
  52. data/tracks/swift/exercises/atbash-cipher/Sources/AtbashExample.swift +1 -1
  53. data/tracks/swift/exercises/bracket-push/Sources/BracketPushExample.swift +1 -1
  54. data/tracks/swift/exercises/collatz-conjecture/Package.swift +5 -0
  55. data/tracks/swift/exercises/collatz-conjecture/README.md +41 -0
  56. data/tracks/swift/exercises/collatz-conjecture/Sources/CollatzConjecture.swift +1 -0
  57. data/tracks/swift/exercises/collatz-conjecture/Sources/CollatzConjectureExample.swift +27 -0
  58. data/tracks/swift/exercises/collatz-conjecture/Tests/CollatzConjectureTests/CollatzConjectureTests.swift +40 -0
  59. data/tracks/swift/exercises/collatz-conjecture/Tests/LinuxMain.swift +6 -0
  60. data/tracks/swift/exercises/dominoes/Sources/DominoesExample.swift +3 -3
  61. data/tracks/swift/exercises/grains/Tests/GrainsTests/GrainsTests.swift +3 -3
  62. data/tracks/swift/exercises/kindergarten-garden/Sources/KindergartenGardenExample.swift +2 -2
  63. data/tracks/swift/exercises/meetup/Sources/MeetupExample.swift +1 -1
  64. data/tracks/swift/exercises/nucleotide-count/Sources/NucleotideCountExample.swift +2 -2
  65. data/tracks/swift/exercises/poker/Sources/PokerExample.swift +137 -131
  66. data/tracks/swift/exercises/rna-transcription/Sources/RnaTranscriptionExample.swift +2 -2
  67. data/tracks/swift/exercises/rotational-cipher/Sources/RotationalCipherExample.swift +12 -12
  68. metadata +24 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9cec9f8c559485824d5d57d0b2578336f601e776
4
- data.tar.gz: 6f588d3e3c6d3e226246f73d66a5c6d0e09ae2d6
3
+ metadata.gz: 3084c0fd6f70c36e263665ec8a8e12cec15e09f6
4
+ data.tar.gz: 8ff04ba30c6a81000a24ccbb0c8c52b5eac97447
5
5
  SHA512:
6
- metadata.gz: 73a6ff50cf53e5e4d7d64a589690482c0179f8196a7d54abbd686b78e53f82d22eaaaffa329687a03044504f44e6cac34b9b2d4810e37777b210b19e021b3cf7
7
- data.tar.gz: 81bced17971429b32a39df39099f8eefd6ad069604b23373a49b0710583bb01530ef5e5ceac1546096961eb8bcbfdee5d567da844edb7889473a9a2b99e99b90
6
+ metadata.gz: 375777d69e212de58da88cadbc1a21361ab52be35ae2f5afdcd12d363c1ce1ed62e7cbdf0f24cfbd55ebb16fa9c7e06aaa3e3ede36ca97dcd2f30cdb3ac491e2
7
+ data.tar.gz: 7edba3e24c4d7679b1ef258efc321fe7b1cd3086d8942a88762f0e1a23b28e50f3f47ea3c49bfd559329c8fe35cc68c3d0586be0145143f33d39248de1ff19d5
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.2.1.60"
2
+ VERSION = "2.2.1.61"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "exercise": "beer-song",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "cases": [
5
5
  {
6
6
  "description": "verse",
@@ -10,33 +10,53 @@
10
10
  "cases": [
11
11
  {
12
12
  "description": "first generic verse",
13
- "property": "verse",
14
- "number": 99,
15
- "expected": "99 bottles of beer on the wall, 99 bottles of beer.\nTake one down and pass it around, 98 bottles of beer on the wall.\n"
13
+ "property": "recite",
14
+ "startBottles": 99,
15
+ "takeDown": 1,
16
+ "expected": [
17
+ "99 bottles of beer on the wall, 99 bottles of beer.",
18
+ "Take one down and pass it around, 98 bottles of beer on the wall."
19
+ ]
16
20
  },
17
21
  {
18
22
  "description": "last generic verse",
19
- "property": "verse",
20
- "number": 3,
21
- "expected": "3 bottles of beer on the wall, 3 bottles of beer.\nTake one down and pass it around, 2 bottles of beer on the wall.\n"
23
+ "property": "recite",
24
+ "startBottles": 3,
25
+ "takeDown": 1,
26
+ "expected": [
27
+ "3 bottles of beer on the wall, 3 bottles of beer.",
28
+ "Take one down and pass it around, 2 bottles of beer on the wall."
29
+ ]
22
30
  },
23
31
  {
24
- "description": "verse 2",
25
- "property": "verse",
26
- "number": 2,
27
- "expected": "2 bottles of beer on the wall, 2 bottles of beer.\nTake one down and pass it around, 1 bottle of beer on the wall.\n"
32
+ "description": "verse with 2 bottles",
33
+ "property": "recite",
34
+ "startBottles": 2,
35
+ "takeDown": 1,
36
+ "expected": [
37
+ "2 bottles of beer on the wall, 2 bottles of beer.",
38
+ "Take one down and pass it around, 1 bottle of beer on the wall."
39
+ ]
28
40
  },
29
41
  {
30
- "description": "verse 1",
31
- "property": "verse",
32
- "number": 1,
33
- "expected": "1 bottle of beer on the wall, 1 bottle of beer.\nTake it down and pass it around, no more bottles of beer on the wall.\n"
42
+ "description": "verse with 1 bottle",
43
+ "property": "recite",
44
+ "startBottles": 1,
45
+ "takeDown": 1,
46
+ "expected": [
47
+ "1 bottle of beer on the wall, 1 bottle of beer.",
48
+ "Take it down and pass it around, no more bottles of beer on the wall."
49
+ ]
34
50
  },
35
51
  {
36
- "description": "verse 0",
37
- "property": "verse",
38
- "number": 0,
39
- "expected": "No more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n"
52
+ "description": "verse with 0 bottles",
53
+ "property": "recite",
54
+ "startBottles": 0,
55
+ "takeDown": 1,
56
+ "expected": [
57
+ "No more bottles of beer on the wall, no more bottles of beer.",
58
+ "Go to the store and buy some more, 99 bottles of beer on the wall."
59
+ ]
40
60
  }
41
61
  ]
42
62
  }
@@ -50,24 +70,339 @@
50
70
  "cases": [
51
71
  {
52
72
  "description": "first two verses",
53
- "property": "verses",
54
- "beginning": 99,
55
- "end": 98,
56
- "expected": "99 bottles of beer on the wall, 99 bottles of beer.\nTake one down and pass it around, 98 bottles of beer on the wall.\n\n98 bottles of beer on the wall, 98 bottles of beer.\nTake one down and pass it around, 97 bottles of beer on the wall.\n"
73
+ "property": "recite",
74
+ "startBottles": 99,
75
+ "takeDown": 2,
76
+ "expected": [
77
+ "99 bottles of beer on the wall, 99 bottles of beer.",
78
+ "Take one down and pass it around, 98 bottles of beer on the wall.",
79
+ "",
80
+ "98 bottles of beer on the wall, 98 bottles of beer.",
81
+ "Take one down and pass it around, 97 bottles of beer on the wall."
82
+ ]
57
83
  },
58
84
  {
59
85
  "description": "last three verses",
60
- "property": "verses",
61
- "beginning": 2,
62
- "end": 0,
63
- "expected": "2 bottles of beer on the wall, 2 bottles of beer.\nTake one down and pass it around, 1 bottle of beer on the wall.\n\n1 bottle of beer on the wall, 1 bottle of beer.\nTake it down and pass it around, no more bottles of beer on the wall.\n\nNo more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n"
86
+ "property": "recite",
87
+ "startBottles": 2,
88
+ "takeDown": 3,
89
+ "expected": [
90
+ "2 bottles of beer on the wall, 2 bottles of beer.",
91
+ "Take one down and pass it around, 1 bottle of beer on the wall.",
92
+ "",
93
+ "1 bottle of beer on the wall, 1 bottle of beer.",
94
+ "Take it down and pass it around, no more bottles of beer on the wall.",
95
+ "",
96
+ "No more bottles of beer on the wall, no more bottles of beer.",
97
+ "Go to the store and buy some more, 99 bottles of beer on the wall."
98
+ ]
64
99
  },
65
100
  {
66
101
  "description": "all verses",
67
- "property": "verses",
68
- "beginning": 99,
69
- "end": 0,
70
- "expected": "99 bottles of beer on the wall, 99 bottles of beer.\nTake one down and pass it around, 98 bottles of beer on the wall.\n\n98 bottles of beer on the wall, 98 bottles of beer.\nTake one down and pass it around, 97 bottles of beer on the wall.\n\n97 bottles of beer on the wall, 97 bottles of beer.\nTake one down and pass it around, 96 bottles of beer on the wall.\n\n96 bottles of beer on the wall, 96 bottles of beer.\nTake one down and pass it around, 95 bottles of beer on the wall.\n\n95 bottles of beer on the wall, 95 bottles of beer.\nTake one down and pass it around, 94 bottles of beer on the wall.\n\n94 bottles of beer on the wall, 94 bottles of beer.\nTake one down and pass it around, 93 bottles of beer on the wall.\n\n93 bottles of beer on the wall, 93 bottles of beer.\nTake one down and pass it around, 92 bottles of beer on the wall.\n\n92 bottles of beer on the wall, 92 bottles of beer.\nTake one down and pass it around, 91 bottles of beer on the wall.\n\n91 bottles of beer on the wall, 91 bottles of beer.\nTake one down and pass it around, 90 bottles of beer on the wall.\n\n90 bottles of beer on the wall, 90 bottles of beer.\nTake one down and pass it around, 89 bottles of beer on the wall.\n\n89 bottles of beer on the wall, 89 bottles of beer.\nTake one down and pass it around, 88 bottles of beer on the wall.\n\n88 bottles of beer on the wall, 88 bottles of beer.\nTake one down and pass it around, 87 bottles of beer on the wall.\n\n87 bottles of beer on the wall, 87 bottles of beer.\nTake one down and pass it around, 86 bottles of beer on the wall.\n\n86 bottles of beer on the wall, 86 bottles of beer.\nTake one down and pass it around, 85 bottles of beer on the wall.\n\n85 bottles of beer on the wall, 85 bottles of beer.\nTake one down and pass it around, 84 bottles of beer on the wall.\n\n84 bottles of beer on the wall, 84 bottles of beer.\nTake one down and pass it around, 83 bottles of beer on the wall.\n\n83 bottles of beer on the wall, 83 bottles of beer.\nTake one down and pass it around, 82 bottles of beer on the wall.\n\n82 bottles of beer on the wall, 82 bottles of beer.\nTake one down and pass it around, 81 bottles of beer on the wall.\n\n81 bottles of beer on the wall, 81 bottles of beer.\nTake one down and pass it around, 80 bottles of beer on the wall.\n\n80 bottles of beer on the wall, 80 bottles of beer.\nTake one down and pass it around, 79 bottles of beer on the wall.\n\n79 bottles of beer on the wall, 79 bottles of beer.\nTake one down and pass it around, 78 bottles of beer on the wall.\n\n78 bottles of beer on the wall, 78 bottles of beer.\nTake one down and pass it around, 77 bottles of beer on the wall.\n\n77 bottles of beer on the wall, 77 bottles of beer.\nTake one down and pass it around, 76 bottles of beer on the wall.\n\n76 bottles of beer on the wall, 76 bottles of beer.\nTake one down and pass it around, 75 bottles of beer on the wall.\n\n75 bottles of beer on the wall, 75 bottles of beer.\nTake one down and pass it around, 74 bottles of beer on the wall.\n\n74 bottles of beer on the wall, 74 bottles of beer.\nTake one down and pass it around, 73 bottles of beer on the wall.\n\n73 bottles of beer on the wall, 73 bottles of beer.\nTake one down and pass it around, 72 bottles of beer on the wall.\n\n72 bottles of beer on the wall, 72 bottles of beer.\nTake one down and pass it around, 71 bottles of beer on the wall.\n\n71 bottles of beer on the wall, 71 bottles of beer.\nTake one down and pass it around, 70 bottles of beer on the wall.\n\n70 bottles of beer on the wall, 70 bottles of beer.\nTake one down and pass it around, 69 bottles of beer on the wall.\n\n69 bottles of beer on the wall, 69 bottles of beer.\nTake one down and pass it around, 68 bottles of beer on the wall.\n\n68 bottles of beer on the wall, 68 bottles of beer.\nTake one down and pass it around, 67 bottles of beer on the wall.\n\n67 bottles of beer on the wall, 67 bottles of beer.\nTake one down and pass it around, 66 bottles of beer on the wall.\n\n66 bottles of beer on the wall, 66 bottles of beer.\nTake one down and pass it around, 65 bottles of beer on the wall.\n\n65 bottles of beer on the wall, 65 bottles of beer.\nTake one down and pass it around, 64 bottles of beer on the wall.\n\n64 bottles of beer on the wall, 64 bottles of beer.\nTake one down and pass it around, 63 bottles of beer on the wall.\n\n63 bottles of beer on the wall, 63 bottles of beer.\nTake one down and pass it around, 62 bottles of beer on the wall.\n\n62 bottles of beer on the wall, 62 bottles of beer.\nTake one down and pass it around, 61 bottles of beer on the wall.\n\n61 bottles of beer on the wall, 61 bottles of beer.\nTake one down and pass it around, 60 bottles of beer on the wall.\n\n60 bottles of beer on the wall, 60 bottles of beer.\nTake one down and pass it around, 59 bottles of beer on the wall.\n\n59 bottles of beer on the wall, 59 bottles of beer.\nTake one down and pass it around, 58 bottles of beer on the wall.\n\n58 bottles of beer on the wall, 58 bottles of beer.\nTake one down and pass it around, 57 bottles of beer on the wall.\n\n57 bottles of beer on the wall, 57 bottles of beer.\nTake one down and pass it around, 56 bottles of beer on the wall.\n\n56 bottles of beer on the wall, 56 bottles of beer.\nTake one down and pass it around, 55 bottles of beer on the wall.\n\n55 bottles of beer on the wall, 55 bottles of beer.\nTake one down and pass it around, 54 bottles of beer on the wall.\n\n54 bottles of beer on the wall, 54 bottles of beer.\nTake one down and pass it around, 53 bottles of beer on the wall.\n\n53 bottles of beer on the wall, 53 bottles of beer.\nTake one down and pass it around, 52 bottles of beer on the wall.\n\n52 bottles of beer on the wall, 52 bottles of beer.\nTake one down and pass it around, 51 bottles of beer on the wall.\n\n51 bottles of beer on the wall, 51 bottles of beer.\nTake one down and pass it around, 50 bottles of beer on the wall.\n\n50 bottles of beer on the wall, 50 bottles of beer.\nTake one down and pass it around, 49 bottles of beer on the wall.\n\n49 bottles of beer on the wall, 49 bottles of beer.\nTake one down and pass it around, 48 bottles of beer on the wall.\n\n48 bottles of beer on the wall, 48 bottles of beer.\nTake one down and pass it around, 47 bottles of beer on the wall.\n\n47 bottles of beer on the wall, 47 bottles of beer.\nTake one down and pass it around, 46 bottles of beer on the wall.\n\n46 bottles of beer on the wall, 46 bottles of beer.\nTake one down and pass it around, 45 bottles of beer on the wall.\n\n45 bottles of beer on the wall, 45 bottles of beer.\nTake one down and pass it around, 44 bottles of beer on the wall.\n\n44 bottles of beer on the wall, 44 bottles of beer.\nTake one down and pass it around, 43 bottles of beer on the wall.\n\n43 bottles of beer on the wall, 43 bottles of beer.\nTake one down and pass it around, 42 bottles of beer on the wall.\n\n42 bottles of beer on the wall, 42 bottles of beer.\nTake one down and pass it around, 41 bottles of beer on the wall.\n\n41 bottles of beer on the wall, 41 bottles of beer.\nTake one down and pass it around, 40 bottles of beer on the wall.\n\n40 bottles of beer on the wall, 40 bottles of beer.\nTake one down and pass it around, 39 bottles of beer on the wall.\n\n39 bottles of beer on the wall, 39 bottles of beer.\nTake one down and pass it around, 38 bottles of beer on the wall.\n\n38 bottles of beer on the wall, 38 bottles of beer.\nTake one down and pass it around, 37 bottles of beer on the wall.\n\n37 bottles of beer on the wall, 37 bottles of beer.\nTake one down and pass it around, 36 bottles of beer on the wall.\n\n36 bottles of beer on the wall, 36 bottles of beer.\nTake one down and pass it around, 35 bottles of beer on the wall.\n\n35 bottles of beer on the wall, 35 bottles of beer.\nTake one down and pass it around, 34 bottles of beer on the wall.\n\n34 bottles of beer on the wall, 34 bottles of beer.\nTake one down and pass it around, 33 bottles of beer on the wall.\n\n33 bottles of beer on the wall, 33 bottles of beer.\nTake one down and pass it around, 32 bottles of beer on the wall.\n\n32 bottles of beer on the wall, 32 bottles of beer.\nTake one down and pass it around, 31 bottles of beer on the wall.\n\n31 bottles of beer on the wall, 31 bottles of beer.\nTake one down and pass it around, 30 bottles of beer on the wall.\n\n30 bottles of beer on the wall, 30 bottles of beer.\nTake one down and pass it around, 29 bottles of beer on the wall.\n\n29 bottles of beer on the wall, 29 bottles of beer.\nTake one down and pass it around, 28 bottles of beer on the wall.\n\n28 bottles of beer on the wall, 28 bottles of beer.\nTake one down and pass it around, 27 bottles of beer on the wall.\n\n27 bottles of beer on the wall, 27 bottles of beer.\nTake one down and pass it around, 26 bottles of beer on the wall.\n\n26 bottles of beer on the wall, 26 bottles of beer.\nTake one down and pass it around, 25 bottles of beer on the wall.\n\n25 bottles of beer on the wall, 25 bottles of beer.\nTake one down and pass it around, 24 bottles of beer on the wall.\n\n24 bottles of beer on the wall, 24 bottles of beer.\nTake one down and pass it around, 23 bottles of beer on the wall.\n\n23 bottles of beer on the wall, 23 bottles of beer.\nTake one down and pass it around, 22 bottles of beer on the wall.\n\n22 bottles of beer on the wall, 22 bottles of beer.\nTake one down and pass it around, 21 bottles of beer on the wall.\n\n21 bottles of beer on the wall, 21 bottles of beer.\nTake one down and pass it around, 20 bottles of beer on the wall.\n\n20 bottles of beer on the wall, 20 bottles of beer.\nTake one down and pass it around, 19 bottles of beer on the wall.\n\n19 bottles of beer on the wall, 19 bottles of beer.\nTake one down and pass it around, 18 bottles of beer on the wall.\n\n18 bottles of beer on the wall, 18 bottles of beer.\nTake one down and pass it around, 17 bottles of beer on the wall.\n\n17 bottles of beer on the wall, 17 bottles of beer.\nTake one down and pass it around, 16 bottles of beer on the wall.\n\n16 bottles of beer on the wall, 16 bottles of beer.\nTake one down and pass it around, 15 bottles of beer on the wall.\n\n15 bottles of beer on the wall, 15 bottles of beer.\nTake one down and pass it around, 14 bottles of beer on the wall.\n\n14 bottles of beer on the wall, 14 bottles of beer.\nTake one down and pass it around, 13 bottles of beer on the wall.\n\n13 bottles of beer on the wall, 13 bottles of beer.\nTake one down and pass it around, 12 bottles of beer on the wall.\n\n12 bottles of beer on the wall, 12 bottles of beer.\nTake one down and pass it around, 11 bottles of beer on the wall.\n\n11 bottles of beer on the wall, 11 bottles of beer.\nTake one down and pass it around, 10 bottles of beer on the wall.\n\n10 bottles of beer on the wall, 10 bottles of beer.\nTake one down and pass it around, 9 bottles of beer on the wall.\n\n9 bottles of beer on the wall, 9 bottles of beer.\nTake one down and pass it around, 8 bottles of beer on the wall.\n\n8 bottles of beer on the wall, 8 bottles of beer.\nTake one down and pass it around, 7 bottles of beer on the wall.\n\n7 bottles of beer on the wall, 7 bottles of beer.\nTake one down and pass it around, 6 bottles of beer on the wall.\n\n6 bottles of beer on the wall, 6 bottles of beer.\nTake one down and pass it around, 5 bottles of beer on the wall.\n\n5 bottles of beer on the wall, 5 bottles of beer.\nTake one down and pass it around, 4 bottles of beer on the wall.\n\n4 bottles of beer on the wall, 4 bottles of beer.\nTake one down and pass it around, 3 bottles of beer on the wall.\n\n3 bottles of beer on the wall, 3 bottles of beer.\nTake one down and pass it around, 2 bottles of beer on the wall.\n\n2 bottles of beer on the wall, 2 bottles of beer.\nTake one down and pass it around, 1 bottle of beer on the wall.\n\n1 bottle of beer on the wall, 1 bottle of beer.\nTake it down and pass it around, no more bottles of beer on the wall.\n\nNo more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n"
102
+ "property": "recite",
103
+ "startBottles": 99,
104
+ "takeDown": 100,
105
+ "expected": [
106
+ "99 bottles of beer on the wall, 99 bottles of beer.",
107
+ "Take one down and pass it around, 98 bottles of beer on the wall.",
108
+ "",
109
+ "98 bottles of beer on the wall, 98 bottles of beer.",
110
+ "Take one down and pass it around, 97 bottles of beer on the wall.",
111
+ "",
112
+ "97 bottles of beer on the wall, 97 bottles of beer.",
113
+ "Take one down and pass it around, 96 bottles of beer on the wall.",
114
+ "",
115
+ "96 bottles of beer on the wall, 96 bottles of beer.",
116
+ "Take one down and pass it around, 95 bottles of beer on the wall.",
117
+ "",
118
+ "95 bottles of beer on the wall, 95 bottles of beer.",
119
+ "Take one down and pass it around, 94 bottles of beer on the wall.",
120
+ "",
121
+ "94 bottles of beer on the wall, 94 bottles of beer.",
122
+ "Take one down and pass it around, 93 bottles of beer on the wall.",
123
+ "",
124
+ "93 bottles of beer on the wall, 93 bottles of beer.",
125
+ "Take one down and pass it around, 92 bottles of beer on the wall.",
126
+ "",
127
+ "92 bottles of beer on the wall, 92 bottles of beer.",
128
+ "Take one down and pass it around, 91 bottles of beer on the wall.",
129
+ "",
130
+ "91 bottles of beer on the wall, 91 bottles of beer.",
131
+ "Take one down and pass it around, 90 bottles of beer on the wall.",
132
+ "",
133
+ "90 bottles of beer on the wall, 90 bottles of beer.",
134
+ "Take one down and pass it around, 89 bottles of beer on the wall.",
135
+ "",
136
+ "89 bottles of beer on the wall, 89 bottles of beer.",
137
+ "Take one down and pass it around, 88 bottles of beer on the wall.",
138
+ "",
139
+ "88 bottles of beer on the wall, 88 bottles of beer.",
140
+ "Take one down and pass it around, 87 bottles of beer on the wall.",
141
+ "",
142
+ "87 bottles of beer on the wall, 87 bottles of beer.",
143
+ "Take one down and pass it around, 86 bottles of beer on the wall.",
144
+ "",
145
+ "86 bottles of beer on the wall, 86 bottles of beer.",
146
+ "Take one down and pass it around, 85 bottles of beer on the wall.",
147
+ "",
148
+ "85 bottles of beer on the wall, 85 bottles of beer.",
149
+ "Take one down and pass it around, 84 bottles of beer on the wall.",
150
+ "",
151
+ "84 bottles of beer on the wall, 84 bottles of beer.",
152
+ "Take one down and pass it around, 83 bottles of beer on the wall.",
153
+ "",
154
+ "83 bottles of beer on the wall, 83 bottles of beer.",
155
+ "Take one down and pass it around, 82 bottles of beer on the wall.",
156
+ "",
157
+ "82 bottles of beer on the wall, 82 bottles of beer.",
158
+ "Take one down and pass it around, 81 bottles of beer on the wall.",
159
+ "",
160
+ "81 bottles of beer on the wall, 81 bottles of beer.",
161
+ "Take one down and pass it around, 80 bottles of beer on the wall.",
162
+ "",
163
+ "80 bottles of beer on the wall, 80 bottles of beer.",
164
+ "Take one down and pass it around, 79 bottles of beer on the wall.",
165
+ "",
166
+ "79 bottles of beer on the wall, 79 bottles of beer.",
167
+ "Take one down and pass it around, 78 bottles of beer on the wall.",
168
+ "",
169
+ "78 bottles of beer on the wall, 78 bottles of beer.",
170
+ "Take one down and pass it around, 77 bottles of beer on the wall.",
171
+ "",
172
+ "77 bottles of beer on the wall, 77 bottles of beer.",
173
+ "Take one down and pass it around, 76 bottles of beer on the wall.",
174
+ "",
175
+ "76 bottles of beer on the wall, 76 bottles of beer.",
176
+ "Take one down and pass it around, 75 bottles of beer on the wall.",
177
+ "",
178
+ "75 bottles of beer on the wall, 75 bottles of beer.",
179
+ "Take one down and pass it around, 74 bottles of beer on the wall.",
180
+ "",
181
+ "74 bottles of beer on the wall, 74 bottles of beer.",
182
+ "Take one down and pass it around, 73 bottles of beer on the wall.",
183
+ "",
184
+ "73 bottles of beer on the wall, 73 bottles of beer.",
185
+ "Take one down and pass it around, 72 bottles of beer on the wall.",
186
+ "",
187
+ "72 bottles of beer on the wall, 72 bottles of beer.",
188
+ "Take one down and pass it around, 71 bottles of beer on the wall.",
189
+ "",
190
+ "71 bottles of beer on the wall, 71 bottles of beer.",
191
+ "Take one down and pass it around, 70 bottles of beer on the wall.",
192
+ "",
193
+ "70 bottles of beer on the wall, 70 bottles of beer.",
194
+ "Take one down and pass it around, 69 bottles of beer on the wall.",
195
+ "",
196
+ "69 bottles of beer on the wall, 69 bottles of beer.",
197
+ "Take one down and pass it around, 68 bottles of beer on the wall.",
198
+ "",
199
+ "68 bottles of beer on the wall, 68 bottles of beer.",
200
+ "Take one down and pass it around, 67 bottles of beer on the wall.",
201
+ "",
202
+ "67 bottles of beer on the wall, 67 bottles of beer.",
203
+ "Take one down and pass it around, 66 bottles of beer on the wall.",
204
+ "",
205
+ "66 bottles of beer on the wall, 66 bottles of beer.",
206
+ "Take one down and pass it around, 65 bottles of beer on the wall.",
207
+ "",
208
+ "65 bottles of beer on the wall, 65 bottles of beer.",
209
+ "Take one down and pass it around, 64 bottles of beer on the wall.",
210
+ "",
211
+ "64 bottles of beer on the wall, 64 bottles of beer.",
212
+ "Take one down and pass it around, 63 bottles of beer on the wall.",
213
+ "",
214
+ "63 bottles of beer on the wall, 63 bottles of beer.",
215
+ "Take one down and pass it around, 62 bottles of beer on the wall.",
216
+ "",
217
+ "62 bottles of beer on the wall, 62 bottles of beer.",
218
+ "Take one down and pass it around, 61 bottles of beer on the wall.",
219
+ "",
220
+ "61 bottles of beer on the wall, 61 bottles of beer.",
221
+ "Take one down and pass it around, 60 bottles of beer on the wall.",
222
+ "",
223
+ "60 bottles of beer on the wall, 60 bottles of beer.",
224
+ "Take one down and pass it around, 59 bottles of beer on the wall.",
225
+ "",
226
+ "59 bottles of beer on the wall, 59 bottles of beer.",
227
+ "Take one down and pass it around, 58 bottles of beer on the wall.",
228
+ "",
229
+ "58 bottles of beer on the wall, 58 bottles of beer.",
230
+ "Take one down and pass it around, 57 bottles of beer on the wall.",
231
+ "",
232
+ "57 bottles of beer on the wall, 57 bottles of beer.",
233
+ "Take one down and pass it around, 56 bottles of beer on the wall.",
234
+ "",
235
+ "56 bottles of beer on the wall, 56 bottles of beer.",
236
+ "Take one down and pass it around, 55 bottles of beer on the wall.",
237
+ "",
238
+ "55 bottles of beer on the wall, 55 bottles of beer.",
239
+ "Take one down and pass it around, 54 bottles of beer on the wall.",
240
+ "",
241
+ "54 bottles of beer on the wall, 54 bottles of beer.",
242
+ "Take one down and pass it around, 53 bottles of beer on the wall.",
243
+ "",
244
+ "53 bottles of beer on the wall, 53 bottles of beer.",
245
+ "Take one down and pass it around, 52 bottles of beer on the wall.",
246
+ "",
247
+ "52 bottles of beer on the wall, 52 bottles of beer.",
248
+ "Take one down and pass it around, 51 bottles of beer on the wall.",
249
+ "",
250
+ "51 bottles of beer on the wall, 51 bottles of beer.",
251
+ "Take one down and pass it around, 50 bottles of beer on the wall.",
252
+ "",
253
+ "50 bottles of beer on the wall, 50 bottles of beer.",
254
+ "Take one down and pass it around, 49 bottles of beer on the wall.",
255
+ "",
256
+ "49 bottles of beer on the wall, 49 bottles of beer.",
257
+ "Take one down and pass it around, 48 bottles of beer on the wall.",
258
+ "",
259
+ "48 bottles of beer on the wall, 48 bottles of beer.",
260
+ "Take one down and pass it around, 47 bottles of beer on the wall.",
261
+ "",
262
+ "47 bottles of beer on the wall, 47 bottles of beer.",
263
+ "Take one down and pass it around, 46 bottles of beer on the wall.",
264
+ "",
265
+ "46 bottles of beer on the wall, 46 bottles of beer.",
266
+ "Take one down and pass it around, 45 bottles of beer on the wall.",
267
+ "",
268
+ "45 bottles of beer on the wall, 45 bottles of beer.",
269
+ "Take one down and pass it around, 44 bottles of beer on the wall.",
270
+ "",
271
+ "44 bottles of beer on the wall, 44 bottles of beer.",
272
+ "Take one down and pass it around, 43 bottles of beer on the wall.",
273
+ "",
274
+ "43 bottles of beer on the wall, 43 bottles of beer.",
275
+ "Take one down and pass it around, 42 bottles of beer on the wall.",
276
+ "",
277
+ "42 bottles of beer on the wall, 42 bottles of beer.",
278
+ "Take one down and pass it around, 41 bottles of beer on the wall.",
279
+ "",
280
+ "41 bottles of beer on the wall, 41 bottles of beer.",
281
+ "Take one down and pass it around, 40 bottles of beer on the wall.",
282
+ "",
283
+ "40 bottles of beer on the wall, 40 bottles of beer.",
284
+ "Take one down and pass it around, 39 bottles of beer on the wall.",
285
+ "",
286
+ "39 bottles of beer on the wall, 39 bottles of beer.",
287
+ "Take one down and pass it around, 38 bottles of beer on the wall.",
288
+ "",
289
+ "38 bottles of beer on the wall, 38 bottles of beer.",
290
+ "Take one down and pass it around, 37 bottles of beer on the wall.",
291
+ "",
292
+ "37 bottles of beer on the wall, 37 bottles of beer.",
293
+ "Take one down and pass it around, 36 bottles of beer on the wall.",
294
+ "",
295
+ "36 bottles of beer on the wall, 36 bottles of beer.",
296
+ "Take one down and pass it around, 35 bottles of beer on the wall.",
297
+ "",
298
+ "35 bottles of beer on the wall, 35 bottles of beer.",
299
+ "Take one down and pass it around, 34 bottles of beer on the wall.",
300
+ "",
301
+ "34 bottles of beer on the wall, 34 bottles of beer.",
302
+ "Take one down and pass it around, 33 bottles of beer on the wall.",
303
+ "",
304
+ "33 bottles of beer on the wall, 33 bottles of beer.",
305
+ "Take one down and pass it around, 32 bottles of beer on the wall.",
306
+ "",
307
+ "32 bottles of beer on the wall, 32 bottles of beer.",
308
+ "Take one down and pass it around, 31 bottles of beer on the wall.",
309
+ "",
310
+ "31 bottles of beer on the wall, 31 bottles of beer.",
311
+ "Take one down and pass it around, 30 bottles of beer on the wall.",
312
+ "",
313
+ "30 bottles of beer on the wall, 30 bottles of beer.",
314
+ "Take one down and pass it around, 29 bottles of beer on the wall.",
315
+ "",
316
+ "29 bottles of beer on the wall, 29 bottles of beer.",
317
+ "Take one down and pass it around, 28 bottles of beer on the wall.",
318
+ "",
319
+ "28 bottles of beer on the wall, 28 bottles of beer.",
320
+ "Take one down and pass it around, 27 bottles of beer on the wall.",
321
+ "",
322
+ "27 bottles of beer on the wall, 27 bottles of beer.",
323
+ "Take one down and pass it around, 26 bottles of beer on the wall.",
324
+ "",
325
+ "26 bottles of beer on the wall, 26 bottles of beer.",
326
+ "Take one down and pass it around, 25 bottles of beer on the wall.",
327
+ "",
328
+ "25 bottles of beer on the wall, 25 bottles of beer.",
329
+ "Take one down and pass it around, 24 bottles of beer on the wall.",
330
+ "",
331
+ "24 bottles of beer on the wall, 24 bottles of beer.",
332
+ "Take one down and pass it around, 23 bottles of beer on the wall.",
333
+ "",
334
+ "23 bottles of beer on the wall, 23 bottles of beer.",
335
+ "Take one down and pass it around, 22 bottles of beer on the wall.",
336
+ "",
337
+ "22 bottles of beer on the wall, 22 bottles of beer.",
338
+ "Take one down and pass it around, 21 bottles of beer on the wall.",
339
+ "",
340
+ "21 bottles of beer on the wall, 21 bottles of beer.",
341
+ "Take one down and pass it around, 20 bottles of beer on the wall.",
342
+ "",
343
+ "20 bottles of beer on the wall, 20 bottles of beer.",
344
+ "Take one down and pass it around, 19 bottles of beer on the wall.",
345
+ "",
346
+ "19 bottles of beer on the wall, 19 bottles of beer.",
347
+ "Take one down and pass it around, 18 bottles of beer on the wall.",
348
+ "",
349
+ "18 bottles of beer on the wall, 18 bottles of beer.",
350
+ "Take one down and pass it around, 17 bottles of beer on the wall.",
351
+ "",
352
+ "17 bottles of beer on the wall, 17 bottles of beer.",
353
+ "Take one down and pass it around, 16 bottles of beer on the wall.",
354
+ "",
355
+ "16 bottles of beer on the wall, 16 bottles of beer.",
356
+ "Take one down and pass it around, 15 bottles of beer on the wall.",
357
+ "",
358
+ "15 bottles of beer on the wall, 15 bottles of beer.",
359
+ "Take one down and pass it around, 14 bottles of beer on the wall.",
360
+ "",
361
+ "14 bottles of beer on the wall, 14 bottles of beer.",
362
+ "Take one down and pass it around, 13 bottles of beer on the wall.",
363
+ "",
364
+ "13 bottles of beer on the wall, 13 bottles of beer.",
365
+ "Take one down and pass it around, 12 bottles of beer on the wall.",
366
+ "",
367
+ "12 bottles of beer on the wall, 12 bottles of beer.",
368
+ "Take one down and pass it around, 11 bottles of beer on the wall.",
369
+ "",
370
+ "11 bottles of beer on the wall, 11 bottles of beer.",
371
+ "Take one down and pass it around, 10 bottles of beer on the wall.",
372
+ "",
373
+ "10 bottles of beer on the wall, 10 bottles of beer.",
374
+ "Take one down and pass it around, 9 bottles of beer on the wall.",
375
+ "",
376
+ "9 bottles of beer on the wall, 9 bottles of beer.",
377
+ "Take one down and pass it around, 8 bottles of beer on the wall.",
378
+ "",
379
+ "8 bottles of beer on the wall, 8 bottles of beer.",
380
+ "Take one down and pass it around, 7 bottles of beer on the wall.",
381
+ "",
382
+ "7 bottles of beer on the wall, 7 bottles of beer.",
383
+ "Take one down and pass it around, 6 bottles of beer on the wall.",
384
+ "",
385
+ "6 bottles of beer on the wall, 6 bottles of beer.",
386
+ "Take one down and pass it around, 5 bottles of beer on the wall.",
387
+ "",
388
+ "5 bottles of beer on the wall, 5 bottles of beer.",
389
+ "Take one down and pass it around, 4 bottles of beer on the wall.",
390
+ "",
391
+ "4 bottles of beer on the wall, 4 bottles of beer.",
392
+ "Take one down and pass it around, 3 bottles of beer on the wall.",
393
+ "",
394
+ "3 bottles of beer on the wall, 3 bottles of beer.",
395
+ "Take one down and pass it around, 2 bottles of beer on the wall.",
396
+ "",
397
+ "2 bottles of beer on the wall, 2 bottles of beer.",
398
+ "Take one down and pass it around, 1 bottle of beer on the wall.",
399
+ "",
400
+ "1 bottle of beer on the wall, 1 bottle of beer.",
401
+ "Take it down and pass it around, no more bottles of beer on the wall.",
402
+ "",
403
+ "No more bottles of beer on the wall, no more bottles of beer.",
404
+ "Go to the store and buy some more, 99 bottles of beer on the wall."
405
+ ]
71
406
  }
72
407
  ]
73
408
  }
@@ -1,4 +1,4 @@
1
- Produce the lyrics to that beloved classic, that field-trip favorite: 99 Bottles of Beer on the Wall.
1
+ Recite the lyrics to that beloved classic, that field-trip favorite: 99 Bottles of Beer on the Wall.
2
2
 
3
3
  Note that not all verses are identical.
4
4
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "exercise": "pascals-triangle",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "comments": [
5
5
  "Expectations are represented here as an array of arrays.",
6
6
  "How you represent this idiomatically in your language is up to you.",
@@ -40,6 +40,24 @@
40
40
  "count": 4,
41
41
  "expected": [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]]
42
42
  },
43
+ {
44
+ "description": "five rows",
45
+ "property": "rows",
46
+ "count": 5,
47
+ "expected": [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
48
+ },
49
+ {
50
+ "description": "six rows",
51
+ "property": "rows",
52
+ "count": 6,
53
+ "expected": [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1]]
54
+ },
55
+ {
56
+ "description": "ten rows",
57
+ "property": "rows",
58
+ "count": 10,
59
+ "expected": [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15, 6, 1], [1, 7, 21, 35, 35, 21, 7, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1], [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]]
60
+ },
43
61
  {
44
62
  "description": "negative rows",
45
63
  "property": "rows",
@@ -0,0 +1,91 @@
1
+ {
2
+ "exercise": "proverb",
3
+ "version": "1.0.0",
4
+ "comments": [
5
+ "JSON doesn't allow for multi-line strings, so all expected outputs are presented ",
6
+ "here as arrays of strings. It's up to the test generator to join the ",
7
+ "lines together with line breaks. "
8
+ ],
9
+ "cases": [
10
+ {
11
+ "description": "zero pieces",
12
+ "property": "recite",
13
+ "input": [],
14
+ "expected": []
15
+ },
16
+ {
17
+ "description": "one piece",
18
+ "property": "recite",
19
+ "input": [
20
+ "nail"
21
+ ],
22
+ "expected": [
23
+ "And all for the want of a nail."
24
+ ]
25
+ },
26
+ {
27
+ "description": "two pieces",
28
+ "property": "recite",
29
+ "input": [
30
+ "nail",
31
+ "shoe"
32
+ ],
33
+ "expected": [
34
+ "For want of a nail the shoe was lost.",
35
+ "And all for the want of a nail."
36
+ ]
37
+ },
38
+ {
39
+ "description": "three pieces",
40
+ "property": "recite",
41
+ "input": [
42
+ "nail",
43
+ "shoe",
44
+ "horse"
45
+ ],
46
+ "expected": [
47
+ "For want of a nail the shoe was lost.",
48
+ "For want of a shoe the horse was lost.",
49
+ "And all for the want of a nail."
50
+ ]
51
+ },
52
+ {
53
+ "description": "full proverb",
54
+ "property": "recite",
55
+ "input": [
56
+ "nail",
57
+ "shoe",
58
+ "horse",
59
+ "rider",
60
+ "message",
61
+ "battle",
62
+ "kingdom"
63
+ ],
64
+ "expected": [
65
+ "For want of a nail the shoe was lost.",
66
+ "For want of a shoe the horse was lost.",
67
+ "For want of a horse the rider was lost.",
68
+ "For want of a rider the message was lost.",
69
+ "For want of a message the battle was lost.",
70
+ "For want of a battle the kingdom was lost.",
71
+ "And all for the want of a nail."
72
+ ]
73
+ },
74
+ {
75
+ "description": "four pieces modernized",
76
+ "property": "recite",
77
+ "input": [
78
+ "pin",
79
+ "gun",
80
+ "soldier",
81
+ "battle"
82
+ ],
83
+ "expected": [
84
+ "For want of a pin the gun was lost.",
85
+ "For want of a gun the soldier was lost.",
86
+ "For want of a soldier the battle was lost.",
87
+ "And all for the want of a pin."
88
+ ]
89
+ }
90
+ ]
91
+ }
@@ -1,6 +1,6 @@
1
1
  For want of a horseshoe nail, a kingdom was lost, or so the saying goes.
2
2
 
3
- Output the full text of this proverbial rhyme:
3
+ Given a list of inputs, generate the relevant proverb. For example, given the list `["nail", "shoe", "horse", "rider", "message", "battle", "kingdom"]`, you will output the full text of this proverbial rhyme:
4
4
 
5
5
  ```text
6
6
  For want of a nail the shoe was lost.
@@ -9,5 +9,7 @@ For want of a horse the rider was lost.
9
9
  For want of a rider the message was lost.
10
10
  For want of a message the battle was lost.
11
11
  For want of a battle the kingdom was lost.
12
- And all for the want of a horseshoe nail.
13
- ```
12
+ And all for the want of a nail.
13
+ ```
14
+
15
+ Note that the list of inputs may vary; your solution should be able to handle lists of arbitrary length and content. No line of the output text should be a static, unchanging string; all should vary according to the input given.
data/tracks/c/README.md CHANGED
@@ -2,16 +2,6 @@
2
2
 
3
3
  Exercism problems in C
4
4
 
5
- ## Hacktoberfest
6
-
7
- If you would like to contribute to this repository as part of [hacktoberfest](https://github.com/blog/2452-get-started-with-hacktoberfest), please read the rest of this (short) readme, then jump in!
8
-
9
- This C language track of exercism is nearly ready to graduate from "upcoming" to "available".
10
- To that aim the repository has several issues marked with labels such as 'help wanted', 'good first patch' or 'hacktoberfest'.
11
- Issues marked with these labels are a good place to start contributing - you are welcome to contribute to any of these, any other issue, or even submit your own issues or pull requests.
12
-
13
- To get an idea of the general status in relation to the launch of the track, check out [issue #8](https://github.com/exercism/c/issues/8)
14
-
15
5
  ## Contributing
16
6
 
17
7
  Contributions are very welcome! Please see the [contributing guide](https://github.com/exercism/c/blob/master/docs/CONTRIBUTING.md) to get started. The guide contains general contribution tips, information on the code style, information on the continuous integration used and the anatomy of an exercise on this language track.