trackler 2.1.0.23 → 2.1.0.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (176) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/ceylon/LICENSE +2 -2
  4. data/tracks/ceylon/README.md +0 -5
  5. data/tracks/ecmascript/.editorconfig +7 -0
  6. data/tracks/ecmascript/Makefile +8 -0
  7. data/tracks/ecmascript/bin/md5-hash +21 -0
  8. data/tracks/ecmascript/exercises/connect/package.json +3 -3
  9. data/tracks/elixir/exercises/atbash-cipher/{atbash.exs → atbash_cipher.exs} +4 -0
  10. data/tracks/elixir/exercises/atbash-cipher/atbash_cipher_test.exs +29 -1
  11. data/tracks/elixir/exercises/atbash-cipher/example.exs +12 -6
  12. data/tracks/elixir/exercises/phone-number/example.exs +71 -29
  13. data/tracks/elixir/exercises/phone-number/phone_number.exs +22 -10
  14. data/tracks/elixir/exercises/phone-number/phone_number_test.exs +37 -12
  15. data/tracks/elm/.github/stale.yml +0 -0
  16. data/tracks/elm/.gitignore +1 -0
  17. data/tracks/elm/.travis.yml +20 -1
  18. data/tracks/elm/README.md +9 -20
  19. data/tracks/elm/bin/build.sh +15 -18
  20. data/tracks/elm/bin/install-elm-format +1 -1
  21. data/tracks/elm/config.json +172 -167
  22. data/tracks/elm/exercises/accumulate/elm-package.json +1 -3
  23. data/tracks/elm/exercises/accumulate/package.json +3 -3
  24. data/tracks/elm/exercises/accumulate/{Tests.elm → tests/Tests.elm} +1 -11
  25. data/tracks/elm/exercises/accumulate/tests/elm-package.json +16 -0
  26. data/tracks/elm/exercises/allergies/elm-package.json +2 -3
  27. data/tracks/elm/exercises/allergies/package.json +3 -3
  28. data/tracks/elm/exercises/allergies/{Tests.elm → tests/Tests.elm} +2 -12
  29. data/tracks/elm/exercises/allergies/tests/elm-package.json +16 -0
  30. data/tracks/elm/exercises/anagram/elm-package.json +2 -3
  31. data/tracks/elm/exercises/anagram/package.json +3 -3
  32. data/tracks/elm/exercises/anagram/{Tests.elm → tests/Tests.elm} +4 -14
  33. data/tracks/elm/exercises/anagram/tests/elm-package.json +16 -0
  34. data/tracks/elm/exercises/atbash-cipher/elm-package.json +2 -3
  35. data/tracks/elm/exercises/atbash-cipher/package.json +3 -3
  36. data/tracks/elm/exercises/atbash-cipher/{Tests.elm → tests/Tests.elm} +1 -11
  37. data/tracks/elm/exercises/atbash-cipher/tests/elm-package.json +16 -0
  38. data/tracks/elm/exercises/bob/elm-package.json +2 -3
  39. data/tracks/elm/exercises/bob/package.json +3 -3
  40. data/tracks/elm/exercises/bob/{Tests.elm → tests/Tests.elm} +1 -11
  41. data/tracks/elm/exercises/bob/tests/elm-package.json +16 -0
  42. data/tracks/elm/exercises/difference-of-squares/elm-package.json +2 -3
  43. data/tracks/elm/exercises/difference-of-squares/package.json +3 -3
  44. data/tracks/elm/exercises/difference-of-squares/{Tests.elm → tests/Tests.elm} +1 -11
  45. data/tracks/elm/exercises/difference-of-squares/tests/elm-package.json +16 -0
  46. data/tracks/elm/exercises/gigasecond/elm-package.json +2 -3
  47. data/tracks/elm/exercises/gigasecond/package.json +3 -3
  48. data/tracks/elm/exercises/gigasecond/{Tests.elm → tests/Tests.elm} +1 -11
  49. data/tracks/elm/exercises/gigasecond/tests/elm-package.json +16 -0
  50. data/tracks/elm/exercises/grade-school/elm-package.json +2 -3
  51. data/tracks/elm/exercises/grade-school/package.json +3 -3
  52. data/tracks/elm/exercises/grade-school/{Tests.elm → tests/Tests.elm} +1 -11
  53. data/tracks/elm/exercises/grade-school/tests/elm-package.json +16 -0
  54. data/tracks/elm/exercises/grains/Grains.elm +2 -0
  55. data/tracks/elm/exercises/grains/Grains.example.elm +9 -0
  56. data/tracks/elm/exercises/grains/elm-package.json +14 -0
  57. data/tracks/elm/exercises/grains/package.json +13 -0
  58. data/tracks/elm/exercises/grains/tests/Tests.elm +38 -0
  59. data/tracks/elm/exercises/grains/tests/elm-package.json +16 -0
  60. data/tracks/elm/exercises/hamming/elm-package.json +2 -3
  61. data/tracks/elm/exercises/hamming/package.json +3 -3
  62. data/tracks/elm/exercises/hamming/{Tests.elm → tests/Tests.elm} +1 -11
  63. data/tracks/elm/exercises/hamming/tests/elm-package.json +16 -0
  64. data/tracks/elm/exercises/hello-world/elm-package.json +2 -3
  65. data/tracks/elm/exercises/hello-world/package.json +3 -3
  66. data/tracks/elm/exercises/hello-world/{Tests.elm → tests/Tests.elm} +1 -11
  67. data/tracks/elm/exercises/hello-world/tests/elm-package.json +16 -0
  68. data/tracks/elm/exercises/largest-series-product/elm-package.json +2 -3
  69. data/tracks/elm/exercises/largest-series-product/package.json +3 -3
  70. data/tracks/elm/exercises/largest-series-product/{Tests.elm → tests/Tests.elm} +1 -11
  71. data/tracks/elm/exercises/largest-series-product/tests/elm-package.json +16 -0
  72. data/tracks/elm/exercises/leap/elm-package.json +2 -3
  73. data/tracks/elm/exercises/leap/package.json +3 -3
  74. data/tracks/elm/exercises/leap/{Tests.elm → tests/Tests.elm} +1 -11
  75. data/tracks/elm/exercises/leap/tests/elm-package.json +16 -0
  76. data/tracks/elm/exercises/list-ops/elm-package.json +2 -3
  77. data/tracks/elm/exercises/list-ops/package.json +3 -3
  78. data/tracks/elm/exercises/list-ops/{Tests.elm → tests/Tests.elm} +1 -11
  79. data/tracks/elm/exercises/list-ops/tests/elm-package.json +16 -0
  80. data/tracks/elm/exercises/nucleotide-count/elm-package.json +2 -3
  81. data/tracks/elm/exercises/nucleotide-count/package.json +3 -3
  82. data/tracks/elm/exercises/nucleotide-count/{Tests.elm → tests/Tests.elm} +1 -11
  83. data/tracks/elm/exercises/nucleotide-count/tests/elm-package.json +16 -0
  84. data/tracks/elm/exercises/pangram/elm-package.json +2 -3
  85. data/tracks/elm/exercises/pangram/package.json +3 -3
  86. data/tracks/elm/exercises/pangram/{Tests.elm → tests/Tests.elm} +1 -11
  87. data/tracks/elm/exercises/pangram/tests/elm-package.json +16 -0
  88. data/tracks/elm/exercises/phone-number/elm-package.json +2 -3
  89. data/tracks/elm/exercises/phone-number/package.json +3 -3
  90. data/tracks/elm/exercises/phone-number/{Tests.elm → tests/Tests.elm} +1 -11
  91. data/tracks/elm/exercises/phone-number/tests/elm-package.json +16 -0
  92. data/tracks/elm/exercises/raindrops/elm-package.json +2 -3
  93. data/tracks/elm/exercises/raindrops/package.json +3 -3
  94. data/tracks/elm/exercises/raindrops/{Tests.elm → tests/Tests.elm} +1 -11
  95. data/tracks/elm/exercises/raindrops/tests/elm-package.json +16 -0
  96. data/tracks/elm/exercises/rna-transcription/elm-package.json +2 -3
  97. data/tracks/elm/exercises/rna-transcription/package.json +3 -3
  98. data/tracks/elm/exercises/rna-transcription/{Tests.elm → tests/Tests.elm} +1 -11
  99. data/tracks/elm/exercises/rna-transcription/tests/elm-package.json +16 -0
  100. data/tracks/elm/exercises/robot-simulator/elm-package.json +2 -3
  101. data/tracks/elm/exercises/robot-simulator/package.json +3 -3
  102. data/tracks/elm/exercises/robot-simulator/{Tests.elm → tests/Tests.elm} +1 -11
  103. data/tracks/elm/exercises/robot-simulator/tests/elm-package.json +16 -0
  104. data/tracks/elm/exercises/roman-numerals/elm-package.json +2 -3
  105. data/tracks/elm/exercises/roman-numerals/package.json +3 -3
  106. data/tracks/elm/exercises/roman-numerals/{Tests.elm → tests/Tests.elm} +1 -11
  107. data/tracks/elm/exercises/roman-numerals/tests/elm-package.json +16 -0
  108. data/tracks/elm/exercises/run-length-encoding/elm-package.json +2 -3
  109. data/tracks/elm/exercises/run-length-encoding/package.json +3 -3
  110. data/tracks/elm/exercises/run-length-encoding/{Tests.elm → tests/Tests.elm} +1 -11
  111. data/tracks/elm/exercises/run-length-encoding/tests/elm-package.json +16 -0
  112. data/tracks/elm/exercises/say/elm-package.json +2 -3
  113. data/tracks/elm/exercises/say/package.json +3 -3
  114. data/tracks/elm/exercises/say/{Tests.elm → tests/Tests.elm} +1 -11
  115. data/tracks/elm/exercises/say/tests/elm-package.json +16 -0
  116. data/tracks/elm/exercises/scrabble-score/elm-package.json +2 -3
  117. data/tracks/elm/exercises/scrabble-score/package.json +3 -3
  118. data/tracks/elm/exercises/scrabble-score/{Tests.elm → tests/Tests.elm} +1 -11
  119. data/tracks/elm/exercises/scrabble-score/tests/elm-package.json +16 -0
  120. data/tracks/elm/exercises/series/elm-package.json +2 -3
  121. data/tracks/elm/exercises/series/package.json +3 -3
  122. data/tracks/elm/exercises/series/{Tests.elm → tests/Tests.elm} +1 -11
  123. data/tracks/elm/exercises/series/tests/elm-package.json +16 -0
  124. data/tracks/elm/exercises/space-age/elm-package.json +2 -3
  125. data/tracks/elm/exercises/space-age/package.json +3 -3
  126. data/tracks/elm/exercises/space-age/{Tests.elm → tests/Tests.elm} +1 -11
  127. data/tracks/elm/exercises/space-age/tests/elm-package.json +16 -0
  128. data/tracks/elm/exercises/strain/elm-package.json +2 -3
  129. data/tracks/elm/exercises/strain/package.json +3 -3
  130. data/tracks/elm/exercises/strain/{Tests.elm → tests/Tests.elm} +1 -11
  131. data/tracks/elm/exercises/strain/tests/elm-package.json +16 -0
  132. data/tracks/elm/exercises/sublist/elm-package.json +2 -3
  133. data/tracks/elm/exercises/sublist/package.json +3 -3
  134. data/tracks/elm/exercises/sublist/{Tests.elm → tests/Tests.elm} +1 -11
  135. data/tracks/elm/exercises/sublist/tests/elm-package.json +16 -0
  136. data/tracks/elm/exercises/sum-of-multiples/elm-package.json +2 -3
  137. data/tracks/elm/exercises/sum-of-multiples/package.json +3 -3
  138. data/tracks/elm/exercises/sum-of-multiples/{Tests.elm → tests/Tests.elm} +1 -11
  139. data/tracks/elm/exercises/sum-of-multiples/tests/elm-package.json +16 -0
  140. data/tracks/elm/exercises/triangle/elm-package.json +2 -3
  141. data/tracks/elm/exercises/triangle/package.json +3 -3
  142. data/tracks/elm/exercises/triangle/{Tests.elm → tests/Tests.elm} +1 -11
  143. data/tracks/elm/exercises/triangle/tests/elm-package.json +16 -0
  144. data/tracks/elm/exercises/word-count/elm-package.json +2 -3
  145. data/tracks/elm/exercises/word-count/package.json +3 -3
  146. data/tracks/elm/exercises/word-count/{Tests.elm → tests/Tests.elm} +1 -11
  147. data/tracks/elm/exercises/word-count/tests/elm-package.json +16 -0
  148. data/tracks/elm/package.json +2 -2
  149. data/tracks/java/exercises/clock/HINT.md +3 -0
  150. data/tracks/java/exercises/clock/src/test/java/ClockAddTest.java +3 -0
  151. data/tracks/java/exercises/clock/src/test/java/ClockCreationTest.java +3 -0
  152. data/tracks/java/exercises/clock/src/test/java/ClockEqualTest.java +21 -17
  153. data/tracks/java/exercises/simple-linked-list/src/example/java/SimpleLinkedList.java +13 -13
  154. data/tracks/java/exercises/sublist/src/example/java/RelationshipComputer.java +1 -1
  155. data/tracks/java/exercises/sublist/src/main/java/RelationshipComputer.java +1 -1
  156. data/tracks/perl5/docs/TESTS.md +2 -2
  157. data/tracks/ruby/LICENSE +2 -2
  158. data/tracks/ruby/README.md +0 -5
  159. data/tracks/typescript/LICENSE +2 -2
  160. data/tracks/typescript/README.md +0 -5
  161. data/tracks/vimscript/README.md +1 -0
  162. data/tracks/vimscript/TRACK_HINTS.md +26 -1
  163. data/tracks/vimscript/config.json +15 -0
  164. data/tracks/vimscript/docs/ABOUT.md +1 -1
  165. data/tracks/vimscript/exercises/nucleotide-count/example.vim +18 -0
  166. data/tracks/vimscript/exercises/nucleotide-count/nucleotide_count.vader +38 -0
  167. data/tracks/vimscript/exercises/nucleotide-count/nucleotide_count.vim +16 -0
  168. data/tracks/vimscript/exercises/phone-number/example.vim +4 -0
  169. data/tracks/vimscript/exercises/phone-number/phone_number.vader +36 -0
  170. data/tracks/vimscript/exercises/phone-number/phone_number.vim +11 -0
  171. data/tracks/vimscript/exercises/roman-numerals/example.vim +29 -0
  172. data/tracks/vimscript/exercises/roman-numerals/roman_numerals.vader +53 -0
  173. data/tracks/vimscript/exercises/roman-numerals/roman_numerals.vim +14 -0
  174. metadata +81 -35
  175. data/tracks/elm/elm-package.json +0 -46
  176. data/tracks/elm/exercises/hello-world/yarn.lock +0 -1136
@@ -1,6 +1,6 @@
1
1
  import java.util.List;
2
2
 
3
- final class RelationshipComputer<T extends Comparable> {
3
+ final class RelationshipComputer<T> {
4
4
 
5
5
  Relationship computeRelationship(final List<T> firstList, final List<T> secondList) {
6
6
  if (firstList.equals(secondList)) return Relationship.EQUAL;
@@ -1,4 +1,4 @@
1
- final class RelationshipComputer<T extends Comparable> {
1
+ final class RelationshipComputer<T> {
2
2
 
3
3
 
4
4
 
@@ -1,14 +1,14 @@
1
1
  Execute tests with:
2
2
 
3
3
  ```bash
4
- $ prove bob_test.t
4
+ $ prove bob.t
5
5
  ```
6
6
 
7
7
  ## Creating Your First Perl5 Module
8
8
 
9
9
  In order to have your solution work correctly with the test specification,
10
10
  you'll need to create a Perl module. To get started, create a file in the
11
- perl5 directory called "bob.pm", with the following contents:
11
+ perl5 directory called "Bob.pm", with the following contents:
12
12
 
13
13
  ```bash
14
14
  package Bob;
@@ -1,6 +1,6 @@
1
- The MIT License (MIT)
1
+ MIT License
2
2
 
3
- Copyright (c) 2014 Katrina Owen, _@kytrinyx.com
3
+ Copyright (c) 2017 Exercism, Inc
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -252,11 +252,6 @@ For an in-depth discussion of how exercism language tracks and exercises work,
252
252
  please see the
253
253
  [contributing guide](https://github.com/exercism/x-api/blob/master/CONTRIBUTING.md#the-exercise-data)
254
254
 
255
- ## License
256
-
257
- The MIT License (MIT)
258
-
259
- Copyright (c) 2014 Katrina Owen, _@kytrinyx.com
260
255
 
261
256
  ## Ruby icon
262
257
  The Ruby icon is the Vienna.rb logo, and is used with permission. Thanks Floor Dress :)
@@ -1,6 +1,6 @@
1
- The MIT License (MIT)
1
+ MIT License
2
2
 
3
- Copyright (c) 2017 Katrina Owen, _@kytrinyx.com
3
+ Copyright (c) 2017 Exercism, Inc
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -36,9 +36,4 @@ There are some utility methods in the `Makefile` to help with development. The b
36
36
 
37
37
  Please see the [contributing guide](https://github.com/exercism/x-api/blob/master/CONTRIBUTING.md#the-exercise-data)
38
38
 
39
- ## License
40
-
41
- The MIT License (MIT)
42
-
43
- Copyright (c) 2017 Katrina Owen, _@kytrinyx.com
44
39
 
@@ -1,6 +1,7 @@
1
1
  # xVimscript
2
2
 
3
3
  ![build status](https://travis-ci.org/exercism/xvimscript.svg?branch=master)
4
+ [![Join the chat at https://gitter.im/exercism/xvimscript](https://badges.gitter.im/exercism/xvimscript.svg)](https://gitter.im/exercism/xvimscript?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4
5
 
5
6
  Exercism exercises in Vim script.
6
7
 
@@ -1,4 +1,11 @@
1
- # Setup
1
+ # TRACK HINTS
2
+
3
+ - [Intro](#intro)
4
+ - [Running tests](#running-tests)
5
+ - [Writing tests](#writing-tests)
6
+ - [Linting Vim files](#linting-vim-files)
7
+
8
+ ## Intro
2
9
 
3
10
  This track uses two tools to run the test suite and ensure best practices:
4
11
 
@@ -55,6 +62,24 @@ autocmd BufRead *.{vader,vim}
55
62
  Afterwards open any `.vim` or `.vader` file from an exercise directory and run
56
63
  the `:Test` command.
57
64
 
65
+ ## Writing tests
66
+
67
+ #### Type mismatch exceptions
68
+
69
+ Older Vims don't like changing types for the same variable. If your tests use
70
+ global variables, unlet them in a `Before` block at the top of the Vader file.
71
+
72
+ When each test uses `let expected = ...`, then put this at the top:
73
+
74
+ ```vim
75
+ Before:
76
+ unlet! expected
77
+ ```
78
+
79
+ This is patched as of
80
+ [Vim 7.4.1546](https://github.com/vim/vim/commit/f6f32c38bf3319144a84a01a154c8c91939e7acf),
81
+ but we shouldn't assume versions in favor of compatibility.
82
+
58
83
  ## Linting Vim files
59
84
 
60
85
  1. Install [vint](https://github.com/Kuniwak/vint#quick-start).
@@ -54,6 +54,21 @@
54
54
  "slug": "atbash-cipher",
55
55
  "difficulty": 1,
56
56
  "topics": []
57
+ },
58
+ {
59
+ "slug": "roman-numerals",
60
+ "difficulty": 1,
61
+ "topics": []
62
+ },
63
+ {
64
+ "slug": "phone-number",
65
+ "difficulty": 1,
66
+ "topics": []
67
+ },
68
+ {
69
+ "slug": "nucleotide-count",
70
+ "difficulty": 1,
71
+ "topics": []
57
72
  }
58
73
  ],
59
74
  "deprecated": [],
@@ -18,7 +18,7 @@ double quote, you can use `ci"` to change this quote.
18
18
 
19
19
  You reduce the risk of
20
20
  [carpal tunnel syndrome](https://en.wikipedia.org/wiki/Carpal_tunnel_syndrome)
21
- by not hitting several keys at once, but but pressing single keys in sequence.
21
+ by not hitting several keys at once, but by pressing single keys in sequence.
22
22
 
23
23
  For convenience, often used keys at put on the homerow or near it, so you don't
24
24
  have to move your hands back and forth all the time.
@@ -0,0 +1,18 @@
1
+ function! NucleotideCount(strand) abort
2
+ let counts = {
3
+ \ 'A': 0,
4
+ \ 'C': 0,
5
+ \ 'G': 0,
6
+ \ 'T': 0,
7
+ \ }
8
+
9
+ if a:strand =~# '[^ACGT]'
10
+ throw 'invalid nucleotide in strand'
11
+ endif
12
+
13
+ for nucleotide in split(a:strand, '\zs')
14
+ let counts[nucleotide] += 1
15
+ endfor
16
+
17
+ return counts
18
+ endfunction
@@ -0,0 +1,38 @@
1
+ "
2
+ " Common test data version: 1.0.0
3
+ "
4
+
5
+ Before:
6
+ unlet! expected
7
+
8
+ Execute (empty strand):
9
+ let expected = {
10
+ \ 'A': 0,
11
+ \ 'C': 0,
12
+ \ 'G': 0,
13
+ \ 'T': 0,
14
+ \ }
15
+ AssertEqual expected, NucleotideCount('')
16
+
17
+ Execute (strand with repeated nucleotide):
18
+ let expected = {
19
+ \ 'A': 0,
20
+ \ 'C': 0,
21
+ \ 'G': 7,
22
+ \ 'T': 0,
23
+ \ }
24
+ AssertEqual expected, NucleotideCount('GGGGGGG')
25
+
26
+ Execute (strand with multiple nucleotides):
27
+ let expected = {
28
+ \ 'A': 20,
29
+ \ 'C': 12,
30
+ \ 'G': 17,
31
+ \ 'T': 21,
32
+ \ }
33
+ AssertEqual expected, NucleotideCount('AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC')
34
+
35
+ Execute (strand with invalid nucleotides):
36
+ let expected = 'invalid nucleotide in strand'
37
+ AssertThrows call NucleotideCount('AGXXACT')
38
+ AssertEqual expected, g:vader_exception
@@ -0,0 +1,16 @@
1
+ "
2
+ " Given a DNA string, compute how many times each nucleotide occurs in the
3
+ " string.
4
+ "
5
+ " Examples:
6
+ "
7
+ " :echo NucleotideCount('ACGTACGT')
8
+ " {'A': 2, 'C': 2, 'T': 2, 'G': 2}
9
+ "
10
+ " :echo NucleotideCount('ACGTXACGT')
11
+ " E605: Exception not caught: invalid nucleotide in strand
12
+ "
13
+
14
+ function! NucleotideCount(strand) abort
15
+ " your code goes here
16
+ endfunction
@@ -0,0 +1,4 @@
1
+ function! ToNANP(number) abort
2
+ let num = substitute(a:number, '\D', '', 'g')
3
+ return num =~? '\v^1?[2-9]\d{2}[2-9]\d{6}$' ? num[-10:] : ''
4
+ endfunction
@@ -0,0 +1,36 @@
1
+ "
2
+ " Common test data version: 1.2.0
3
+ "
4
+
5
+ Execute (cleans the number):
6
+ AssertEqual '2234567890', ToNANP('(223) 456-7890')
7
+
8
+ Execute (cleans numbers with dots):
9
+ AssertEqual '2234567890', ToNANP('223.456.7890')
10
+
11
+ Execute (cleans numbers with multiple spaces):
12
+ AssertEqual '2234567890', ToNANP('223 456 7890')
13
+
14
+ Execute (invalid when 9 digits):
15
+ AssertEqual '', ToNANP('123456789')
16
+
17
+ Execute (invalid when 11 digits and does not start with 1):
18
+ AssertEqual '', ToNANP('22234567890')
19
+
20
+ Execute (valid when 11 digits and does start with 1):
21
+ AssertEqual '2234567890', ToNANP('12234567890')
22
+
23
+ Execute (valid when 11 digits and starting with 1 even with punctuation):
24
+ AssertEqual '2234567890', ToNANP('+1 (223) 456-7890')
25
+
26
+ Execute (invalid with letters):
27
+ AssertEqual '', ToNANP('123-abc-7890')
28
+
29
+ Execute (invalid with punctuations):
30
+ AssertEqual '', ToNANP('123-@:!-7890')
31
+
32
+ Execute (invalid if area code does not start with 2-9):
33
+ AssertEqual '', ToNANP('(123) 456-7890')
34
+
35
+ Execute (invalid if exchange code does not start with 2-9):
36
+ AssertEqual '', ToNANP('(223) 056-7890')
@@ -0,0 +1,11 @@
1
+ "
2
+ " Clean up user-entered phone numbers so that they can be sent SMS messages.
3
+ "
4
+ " Example:
5
+ "
6
+ " :echo ToNANP('+1 (613)-995-0253')
7
+ " 6139950253
8
+ "
9
+ function! ToNANP(number) abort
10
+ " your code goes here
11
+ endfunction
@@ -0,0 +1,29 @@
1
+ function! ToRoman(number) abort
2
+ let romandict = [
3
+ \ [1000, 'M' ],
4
+ \ [ 900, 'CM'],
5
+ \ [ 500, 'D' ],
6
+ \ [ 400, 'CD'],
7
+ \ [ 100, 'C' ],
8
+ \ [ 90, 'XC'],
9
+ \ [ 50, 'L' ],
10
+ \ [ 40, 'XL'],
11
+ \ [ 10, 'X' ],
12
+ \ [ 9, 'IX'],
13
+ \ [ 5, 'V' ],
14
+ \ [ 4, 'IV'],
15
+ \ [ 1, 'I' ],
16
+ \ ]
17
+
18
+ let num = a:number
19
+ let ret = ''
20
+
21
+ for [arabic, roman] in romandict
22
+ while num >= arabic
23
+ let ret .= roman
24
+ let num -= arabic
25
+ endwhile
26
+ endfor
27
+
28
+ return ret
29
+ endfunction
@@ -0,0 +1,53 @@
1
+ Execute (1 is a single I):
2
+ AssertEqual 'I', ToRoman(1)
3
+
4
+ Execute (2 is two I's):
5
+ AssertEqual 'II', ToRoman(2)
6
+
7
+ Execute (2 is three I's):
8
+ AssertEqual 'III', ToRoman(3)
9
+
10
+ Execute (4, being 5 - 1, is IV):
11
+ AssertEqual 'IV', ToRoman(4)
12
+
13
+ Execute (5 is a single V):
14
+ AssertEqual 'V', ToRoman(5)
15
+
16
+ Execute (6, being 5 + 1, is VI):
17
+ AssertEqual 'VI', ToRoman(6)
18
+
19
+ Execute (9, being 10 - 1, is IX):
20
+ AssertEqual 'IX', ToRoman(9)
21
+
22
+ Execute (20 is two X's):
23
+ AssertEqual 'XXVII', ToRoman(27)
24
+
25
+ Execute (48 is not 50 - 2, but rather 40 + 8):
26
+ AssertEqual 'XLVIII', ToRoman(48)
27
+
28
+ Execute (50 is a single L):
29
+ AssertEqual 'LIX', ToRoman(59)
30
+
31
+ Execute (90, being 100 - 10, is XC):
32
+ AssertEqual 'XCIII', ToRoman(93)
33
+
34
+ Execute (100 is a single C):
35
+ AssertEqual 'CXLI', ToRoman(141)
36
+
37
+ Execute (60, being 50 + 10, is LX):
38
+ AssertEqual 'CLXIII', ToRoman(163)
39
+
40
+ Execute (400, being 500 - 100, is CD):
41
+ AssertEqual 'CDII', ToRoman(402)
42
+
43
+ Execute (500 is a single D):
44
+ AssertEqual 'DLXXV', ToRoman(575)
45
+
46
+ Execute (900, being 1000 - 100, is CM):
47
+ AssertEqual 'CMXI', ToRoman(911)
48
+
49
+ Execute (1000 is a single M):
50
+ AssertEqual 'MXXIV', ToRoman(1024)
51
+
52
+ Execute (3000 is three M's):
53
+ AssertEqual 'MMM', ToRoman(3000)
@@ -0,0 +1,14 @@
1
+ "
2
+ " Write a function to convert Arabic numbers to Roman numerals.
3
+ "
4
+ " Examples:
5
+ "
6
+ " :echo ToRoman(1990)
7
+ " MCMXC
8
+ "
9
+ " :echo ToRoman(2008)
10
+ " MMVIII
11
+ "
12
+ function! ToRoman(number) abort
13
+ " your code goes here
14
+ endfunction
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0.23
4
+ version: 2.1.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-28 00:00:00.000000000 Z
11
+ date: 2017-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -2117,6 +2117,7 @@ files:
2117
2117
  - tracks/ecmascript/README.md
2118
2118
  - tracks/ecmascript/SETUP.md
2119
2119
  - tracks/ecmascript/bin/fetch-configlet
2120
+ - tracks/ecmascript/bin/md5-hash
2120
2121
  - tracks/ecmascript/config.json
2121
2122
  - tracks/ecmascript/docs/ABOUT.md
2122
2123
  - tracks/ecmascript/docs/INSTALLATION.md
@@ -2431,7 +2432,7 @@ files:
2431
2432
  - tracks/elixir/exercises/anagram/anagram.exs
2432
2433
  - tracks/elixir/exercises/anagram/anagram_test.exs
2433
2434
  - tracks/elixir/exercises/anagram/example.exs
2434
- - tracks/elixir/exercises/atbash-cipher/atbash.exs
2435
+ - tracks/elixir/exercises/atbash-cipher/atbash_cipher.exs
2435
2436
  - tracks/elixir/exercises/atbash-cipher/atbash_cipher_test.exs
2436
2437
  - tracks/elixir/exercises/atbash-cipher/example.exs
2437
2438
  - tracks/elixir/exercises/bank-account/account.exs
@@ -2678,6 +2679,7 @@ files:
2678
2679
  - tracks/elixir/mix.exs
2679
2680
  - tracks/elixir/mix.lock
2680
2681
  - tracks/elm/.git
2682
+ - tracks/elm/.github/stale.yml
2681
2683
  - tracks/elm/.gitignore
2682
2684
  - tracks/elm/.travis.yml
2683
2685
  - tracks/elm/LICENSE
@@ -2692,159 +2694,193 @@ files:
2692
2694
  - tracks/elm/docs/LEARNING.md
2693
2695
  - tracks/elm/docs/RESOURCES.md
2694
2696
  - tracks/elm/docs/TESTS.md
2695
- - tracks/elm/elm-package.json
2696
2697
  - tracks/elm/exercises/accumulate/Accumulate.elm
2697
2698
  - tracks/elm/exercises/accumulate/Accumulate.example.elm
2698
- - tracks/elm/exercises/accumulate/Tests.elm
2699
2699
  - tracks/elm/exercises/accumulate/elm-package.json
2700
2700
  - tracks/elm/exercises/accumulate/package.json
2701
+ - tracks/elm/exercises/accumulate/tests/Tests.elm
2702
+ - tracks/elm/exercises/accumulate/tests/elm-package.json
2701
2703
  - tracks/elm/exercises/allergies/Allergies.elm
2702
2704
  - tracks/elm/exercises/allergies/Allergies.example.elm
2703
- - tracks/elm/exercises/allergies/Tests.elm
2704
2705
  - tracks/elm/exercises/allergies/elm-package.json
2705
2706
  - tracks/elm/exercises/allergies/package.json
2707
+ - tracks/elm/exercises/allergies/tests/Tests.elm
2708
+ - tracks/elm/exercises/allergies/tests/elm-package.json
2706
2709
  - tracks/elm/exercises/anagram/Anagram.elm
2707
2710
  - tracks/elm/exercises/anagram/Anagram.example.elm
2708
- - tracks/elm/exercises/anagram/Tests.elm
2709
2711
  - tracks/elm/exercises/anagram/elm-package.json
2710
2712
  - tracks/elm/exercises/anagram/package.json
2713
+ - tracks/elm/exercises/anagram/tests/Tests.elm
2714
+ - tracks/elm/exercises/anagram/tests/elm-package.json
2711
2715
  - tracks/elm/exercises/atbash-cipher/AtbashCipher.elm
2712
2716
  - tracks/elm/exercises/atbash-cipher/AtbashCipher.example.elm
2713
- - tracks/elm/exercises/atbash-cipher/Tests.elm
2714
2717
  - tracks/elm/exercises/atbash-cipher/elm-package.json
2715
2718
  - tracks/elm/exercises/atbash-cipher/package.json
2719
+ - tracks/elm/exercises/atbash-cipher/tests/Tests.elm
2720
+ - tracks/elm/exercises/atbash-cipher/tests/elm-package.json
2716
2721
  - tracks/elm/exercises/bob/Bob.elm
2717
2722
  - tracks/elm/exercises/bob/Bob.example.elm
2718
- - tracks/elm/exercises/bob/Tests.elm
2719
2723
  - tracks/elm/exercises/bob/elm-package.json
2720
2724
  - tracks/elm/exercises/bob/package.json
2725
+ - tracks/elm/exercises/bob/tests/Tests.elm
2726
+ - tracks/elm/exercises/bob/tests/elm-package.json
2721
2727
  - tracks/elm/exercises/difference-of-squares/DifferenceOfSquares.elm
2722
2728
  - tracks/elm/exercises/difference-of-squares/DifferenceOfSquares.example.elm
2723
- - tracks/elm/exercises/difference-of-squares/Tests.elm
2724
2729
  - tracks/elm/exercises/difference-of-squares/elm-package.json
2725
2730
  - tracks/elm/exercises/difference-of-squares/package.json
2731
+ - tracks/elm/exercises/difference-of-squares/tests/Tests.elm
2732
+ - tracks/elm/exercises/difference-of-squares/tests/elm-package.json
2726
2733
  - tracks/elm/exercises/gigasecond/Gigasecond.elm
2727
2734
  - tracks/elm/exercises/gigasecond/Gigasecond.example.elm
2728
- - tracks/elm/exercises/gigasecond/Tests.elm
2729
2735
  - tracks/elm/exercises/gigasecond/elm-package.json
2730
2736
  - tracks/elm/exercises/gigasecond/package.json
2737
+ - tracks/elm/exercises/gigasecond/tests/Tests.elm
2738
+ - tracks/elm/exercises/gigasecond/tests/elm-package.json
2731
2739
  - tracks/elm/exercises/grade-school/GradeSchool.elm
2732
2740
  - tracks/elm/exercises/grade-school/GradeSchool.example.elm
2733
- - tracks/elm/exercises/grade-school/Tests.elm
2734
2741
  - tracks/elm/exercises/grade-school/elm-package.json
2735
2742
  - tracks/elm/exercises/grade-school/package.json
2743
+ - tracks/elm/exercises/grade-school/tests/Tests.elm
2744
+ - tracks/elm/exercises/grade-school/tests/elm-package.json
2745
+ - tracks/elm/exercises/grains/Grains.elm
2746
+ - tracks/elm/exercises/grains/Grains.example.elm
2747
+ - tracks/elm/exercises/grains/elm-package.json
2748
+ - tracks/elm/exercises/grains/package.json
2749
+ - tracks/elm/exercises/grains/tests/Tests.elm
2750
+ - tracks/elm/exercises/grains/tests/elm-package.json
2736
2751
  - tracks/elm/exercises/hamming/Hamming.elm
2737
2752
  - tracks/elm/exercises/hamming/Hamming.example.elm
2738
- - tracks/elm/exercises/hamming/Tests.elm
2739
2753
  - tracks/elm/exercises/hamming/elm-package.json
2740
2754
  - tracks/elm/exercises/hamming/package.json
2755
+ - tracks/elm/exercises/hamming/tests/Tests.elm
2756
+ - tracks/elm/exercises/hamming/tests/elm-package.json
2741
2757
  - tracks/elm/exercises/hello-world/HelloWorld.elm
2742
2758
  - tracks/elm/exercises/hello-world/HelloWorld.example.elm
2743
- - tracks/elm/exercises/hello-world/Tests.elm
2744
2759
  - tracks/elm/exercises/hello-world/elm-package.json
2745
2760
  - tracks/elm/exercises/hello-world/package.json
2746
- - tracks/elm/exercises/hello-world/yarn.lock
2761
+ - tracks/elm/exercises/hello-world/tests/Tests.elm
2762
+ - tracks/elm/exercises/hello-world/tests/elm-package.json
2747
2763
  - tracks/elm/exercises/largest-series-product/LargestSeriesProduct.elm
2748
2764
  - tracks/elm/exercises/largest-series-product/LargestSeriesProduct.example.elm
2749
- - tracks/elm/exercises/largest-series-product/Tests.elm
2750
2765
  - tracks/elm/exercises/largest-series-product/elm-package.json
2751
2766
  - tracks/elm/exercises/largest-series-product/package.json
2767
+ - tracks/elm/exercises/largest-series-product/tests/Tests.elm
2768
+ - tracks/elm/exercises/largest-series-product/tests/elm-package.json
2752
2769
  - tracks/elm/exercises/leap/Leap.elm
2753
2770
  - tracks/elm/exercises/leap/Leap.example.elm
2754
- - tracks/elm/exercises/leap/Tests.elm
2755
2771
  - tracks/elm/exercises/leap/elm-package.json
2756
2772
  - tracks/elm/exercises/leap/package.json
2773
+ - tracks/elm/exercises/leap/tests/Tests.elm
2774
+ - tracks/elm/exercises/leap/tests/elm-package.json
2757
2775
  - tracks/elm/exercises/list-ops/ListOps.elm
2758
2776
  - tracks/elm/exercises/list-ops/ListOps.example.elm
2759
- - tracks/elm/exercises/list-ops/Tests.elm
2760
2777
  - tracks/elm/exercises/list-ops/elm-package.json
2761
2778
  - tracks/elm/exercises/list-ops/package.json
2779
+ - tracks/elm/exercises/list-ops/tests/Tests.elm
2780
+ - tracks/elm/exercises/list-ops/tests/elm-package.json
2762
2781
  - tracks/elm/exercises/nucleotide-count/NucleotideCount.elm
2763
2782
  - tracks/elm/exercises/nucleotide-count/NucleotideCount.example.elm
2764
- - tracks/elm/exercises/nucleotide-count/Tests.elm
2765
2783
  - tracks/elm/exercises/nucleotide-count/elm-package.json
2766
2784
  - tracks/elm/exercises/nucleotide-count/package.json
2785
+ - tracks/elm/exercises/nucleotide-count/tests/Tests.elm
2786
+ - tracks/elm/exercises/nucleotide-count/tests/elm-package.json
2767
2787
  - tracks/elm/exercises/pangram/Pangram.elm
2768
2788
  - tracks/elm/exercises/pangram/Pangram.example.elm
2769
- - tracks/elm/exercises/pangram/Tests.elm
2770
2789
  - tracks/elm/exercises/pangram/elm-package.json
2771
2790
  - tracks/elm/exercises/pangram/package.json
2791
+ - tracks/elm/exercises/pangram/tests/Tests.elm
2792
+ - tracks/elm/exercises/pangram/tests/elm-package.json
2772
2793
  - tracks/elm/exercises/phone-number/PhoneNumber.elm
2773
2794
  - tracks/elm/exercises/phone-number/PhoneNumber.example.elm
2774
- - tracks/elm/exercises/phone-number/Tests.elm
2775
2795
  - tracks/elm/exercises/phone-number/elm-package.json
2776
2796
  - tracks/elm/exercises/phone-number/package.json
2797
+ - tracks/elm/exercises/phone-number/tests/Tests.elm
2798
+ - tracks/elm/exercises/phone-number/tests/elm-package.json
2777
2799
  - tracks/elm/exercises/raindrops/Raindrops.elm
2778
2800
  - tracks/elm/exercises/raindrops/Raindrops.example.elm
2779
- - tracks/elm/exercises/raindrops/Tests.elm
2780
2801
  - tracks/elm/exercises/raindrops/elm-package.json
2781
2802
  - tracks/elm/exercises/raindrops/package.json
2803
+ - tracks/elm/exercises/raindrops/tests/Tests.elm
2804
+ - tracks/elm/exercises/raindrops/tests/elm-package.json
2782
2805
  - tracks/elm/exercises/rna-transcription/RNATranscription.elm
2783
2806
  - tracks/elm/exercises/rna-transcription/RNATranscription.example.elm
2784
- - tracks/elm/exercises/rna-transcription/Tests.elm
2785
2807
  - tracks/elm/exercises/rna-transcription/elm-package.json
2786
2808
  - tracks/elm/exercises/rna-transcription/package.json
2809
+ - tracks/elm/exercises/rna-transcription/tests/Tests.elm
2810
+ - tracks/elm/exercises/rna-transcription/tests/elm-package.json
2787
2811
  - tracks/elm/exercises/robot-simulator/RobotSimulator.elm
2788
2812
  - tracks/elm/exercises/robot-simulator/RobotSimulator.example.elm
2789
- - tracks/elm/exercises/robot-simulator/Tests.elm
2790
2813
  - tracks/elm/exercises/robot-simulator/elm-package.json
2791
2814
  - tracks/elm/exercises/robot-simulator/package.json
2815
+ - tracks/elm/exercises/robot-simulator/tests/Tests.elm
2816
+ - tracks/elm/exercises/robot-simulator/tests/elm-package.json
2792
2817
  - tracks/elm/exercises/roman-numerals/RomanNumerals.elm
2793
2818
  - tracks/elm/exercises/roman-numerals/RomanNumerals.example.elm
2794
- - tracks/elm/exercises/roman-numerals/Tests.elm
2795
2819
  - tracks/elm/exercises/roman-numerals/elm-package.json
2796
2820
  - tracks/elm/exercises/roman-numerals/package.json
2821
+ - tracks/elm/exercises/roman-numerals/tests/Tests.elm
2822
+ - tracks/elm/exercises/roman-numerals/tests/elm-package.json
2797
2823
  - tracks/elm/exercises/run-length-encoding/RunLengthEncoding.elm
2798
2824
  - tracks/elm/exercises/run-length-encoding/RunLengthEncoding.example.elm
2799
2825
  - tracks/elm/exercises/run-length-encoding/RunLengthEncodingPropertyChecks.elm
2800
- - tracks/elm/exercises/run-length-encoding/Tests.elm
2801
2826
  - tracks/elm/exercises/run-length-encoding/elm-package.json
2802
2827
  - tracks/elm/exercises/run-length-encoding/package.json
2828
+ - tracks/elm/exercises/run-length-encoding/tests/Tests.elm
2829
+ - tracks/elm/exercises/run-length-encoding/tests/elm-package.json
2803
2830
  - tracks/elm/exercises/say/Say.elm
2804
2831
  - tracks/elm/exercises/say/Say.example.elm
2805
- - tracks/elm/exercises/say/Tests.elm
2806
2832
  - tracks/elm/exercises/say/elm-package.json
2807
2833
  - tracks/elm/exercises/say/package.json
2834
+ - tracks/elm/exercises/say/tests/Tests.elm
2835
+ - tracks/elm/exercises/say/tests/elm-package.json
2808
2836
  - tracks/elm/exercises/scrabble-score/ScrabbleScore.elm
2809
2837
  - tracks/elm/exercises/scrabble-score/ScrabbleScore.example.elm
2810
- - tracks/elm/exercises/scrabble-score/Tests.elm
2811
2838
  - tracks/elm/exercises/scrabble-score/elm-package.json
2812
2839
  - tracks/elm/exercises/scrabble-score/package.json
2840
+ - tracks/elm/exercises/scrabble-score/tests/Tests.elm
2841
+ - tracks/elm/exercises/scrabble-score/tests/elm-package.json
2813
2842
  - tracks/elm/exercises/series/Series.elm
2814
2843
  - tracks/elm/exercises/series/Series.example.elm
2815
- - tracks/elm/exercises/series/Tests.elm
2816
2844
  - tracks/elm/exercises/series/elm-package.json
2817
2845
  - tracks/elm/exercises/series/package.json
2846
+ - tracks/elm/exercises/series/tests/Tests.elm
2847
+ - tracks/elm/exercises/series/tests/elm-package.json
2818
2848
  - tracks/elm/exercises/space-age/SpaceAge.elm
2819
2849
  - tracks/elm/exercises/space-age/SpaceAge.example.elm
2820
- - tracks/elm/exercises/space-age/Tests.elm
2821
2850
  - tracks/elm/exercises/space-age/elm-package.json
2822
2851
  - tracks/elm/exercises/space-age/package.json
2852
+ - tracks/elm/exercises/space-age/tests/Tests.elm
2853
+ - tracks/elm/exercises/space-age/tests/elm-package.json
2823
2854
  - tracks/elm/exercises/strain/Strain.elm
2824
2855
  - tracks/elm/exercises/strain/Strain.example.elm
2825
- - tracks/elm/exercises/strain/Tests.elm
2826
2856
  - tracks/elm/exercises/strain/elm-package.json
2827
2857
  - tracks/elm/exercises/strain/package.json
2858
+ - tracks/elm/exercises/strain/tests/Tests.elm
2859
+ - tracks/elm/exercises/strain/tests/elm-package.json
2828
2860
  - tracks/elm/exercises/sublist/Sublist.elm
2829
2861
  - tracks/elm/exercises/sublist/Sublist.example.elm
2830
- - tracks/elm/exercises/sublist/Tests.elm
2831
2862
  - tracks/elm/exercises/sublist/elm-package.json
2832
2863
  - tracks/elm/exercises/sublist/package.json
2864
+ - tracks/elm/exercises/sublist/tests/Tests.elm
2865
+ - tracks/elm/exercises/sublist/tests/elm-package.json
2833
2866
  - tracks/elm/exercises/sum-of-multiples/SumOfMultiples.elm
2834
2867
  - tracks/elm/exercises/sum-of-multiples/SumOfMultiples.example.elm
2835
- - tracks/elm/exercises/sum-of-multiples/Tests.elm
2836
2868
  - tracks/elm/exercises/sum-of-multiples/elm-package.json
2837
2869
  - tracks/elm/exercises/sum-of-multiples/package.json
2838
- - tracks/elm/exercises/triangle/Tests.elm
2870
+ - tracks/elm/exercises/sum-of-multiples/tests/Tests.elm
2871
+ - tracks/elm/exercises/sum-of-multiples/tests/elm-package.json
2839
2872
  - tracks/elm/exercises/triangle/Triangle.elm
2840
2873
  - tracks/elm/exercises/triangle/Triangle.example.elm
2841
2874
  - tracks/elm/exercises/triangle/elm-package.json
2842
2875
  - tracks/elm/exercises/triangle/package.json
2843
- - tracks/elm/exercises/word-count/Tests.elm
2876
+ - tracks/elm/exercises/triangle/tests/Tests.elm
2877
+ - tracks/elm/exercises/triangle/tests/elm-package.json
2844
2878
  - tracks/elm/exercises/word-count/WordCount.elm
2845
2879
  - tracks/elm/exercises/word-count/WordCount.example.elm
2846
2880
  - tracks/elm/exercises/word-count/elm-package.json
2847
2881
  - tracks/elm/exercises/word-count/package.json
2882
+ - tracks/elm/exercises/word-count/tests/Tests.elm
2883
+ - tracks/elm/exercises/word-count/tests/elm-package.json
2848
2884
  - tracks/elm/img/icon.png
2849
2885
  - tracks/elm/package.json
2850
2886
  - tracks/erlang/.git
@@ -4357,6 +4393,7 @@ files:
4357
4393
  - tracks/java/exercises/change/src/example/java/ChangeCalculator.java
4358
4394
  - tracks/java/exercises/change/src/main/java/ChangeCalculator.java
4359
4395
  - tracks/java/exercises/change/src/test/java/ChangeCalculatorTest.java
4396
+ - tracks/java/exercises/clock/HINT.md
4360
4397
  - tracks/java/exercises/clock/build.gradle
4361
4398
  - tracks/java/exercises/clock/src/example/java/Clock.java
4362
4399
  - tracks/java/exercises/clock/src/main/java/.keep
@@ -9094,12 +9131,21 @@ files:
9094
9131
  - tracks/vimscript/exercises/leap/example.vim
9095
9132
  - tracks/vimscript/exercises/leap/leap.vader
9096
9133
  - tracks/vimscript/exercises/leap/leap.vim
9134
+ - tracks/vimscript/exercises/nucleotide-count/example.vim
9135
+ - tracks/vimscript/exercises/nucleotide-count/nucleotide_count.vader
9136
+ - tracks/vimscript/exercises/nucleotide-count/nucleotide_count.vim
9137
+ - tracks/vimscript/exercises/phone-number/example.vim
9138
+ - tracks/vimscript/exercises/phone-number/phone_number.vader
9139
+ - tracks/vimscript/exercises/phone-number/phone_number.vim
9097
9140
  - tracks/vimscript/exercises/raindrops/example.vim
9098
9141
  - tracks/vimscript/exercises/raindrops/raindrops.vader
9099
9142
  - tracks/vimscript/exercises/raindrops/raindrops.vim
9100
9143
  - tracks/vimscript/exercises/rna-transcription/example.vim
9101
9144
  - tracks/vimscript/exercises/rna-transcription/rna_transcription.vader
9102
9145
  - tracks/vimscript/exercises/rna-transcription/rna_transcription.vim
9146
+ - tracks/vimscript/exercises/roman-numerals/example.vim
9147
+ - tracks/vimscript/exercises/roman-numerals/roman_numerals.vader
9148
+ - tracks/vimscript/exercises/roman-numerals/roman_numerals.vim
9103
9149
  - tracks/vimscript/exercises/word-count/example.vim
9104
9150
  - tracks/vimscript/exercises/word-count/word_count.vader
9105
9151
  - tracks/vimscript/exercises/word-count/word_count.vim