trackler 2.0.8.7 → 2.0.8.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/common/CONTRIBUTING.md +2 -2
  3. data/common/exercises/diamond/canonical-data.json +125 -0
  4. data/common/exercises/difference-of-squares/metadata.yml +1 -1
  5. data/common/exercises/hello-world/description.md +1 -1
  6. data/common/exercises/perfect-numbers/canonical-data.json +108 -0
  7. data/common/exercises/word-search/description.md +9 -9
  8. data/lib/trackler/version.rb +1 -1
  9. data/tracks/delphi/exercises/bob/uBobTests.pas +17 -17
  10. data/tracks/elixir/config.json +6 -0
  11. data/tracks/elixir/exercises/all-your-base/all-your-base-test.exs +115 -0
  12. data/tracks/elixir/exercises/all-your-base/all-your-base.exs +10 -0
  13. data/tracks/elixir/exercises/all-your-base/example.exs +48 -0
  14. data/tracks/erlang/.gitignore +1 -0
  15. data/tracks/erlang/.travis.yml +5 -1
  16. data/tracks/erlang/bin/journey-test.sh +264 -0
  17. data/tracks/erlang/exercises/allergies/test/allergies_tests.erl +1 -1
  18. data/tracks/erlang/exercises/nucleotide-count/test/{dna_tests.erl → nucleotide_count_tests.erl} +2 -2
  19. data/tracks/erlang/exercises/parallel-letter-frequency/src/example.erl +1 -1
  20. data/tracks/erlang/exercises/phone-number/test/{phone_tests.erl → phone_number_tests.erl} +2 -2
  21. data/tracks/erlang/exercises/robot-simulator/src/example.erl +1 -1
  22. data/tracks/erlang/exercises/scrabble-score/test/scrabble_score_tests.erl +1 -1
  23. data/tracks/erlang/exercises/series/src/example.erl +1 -1
  24. data/tracks/go/exercises/parallel-letter-frequency/example.go +2 -0
  25. data/tracks/go/exercises/parallel-letter-frequency/parallel_letter_frequency_test.go +8 -0
  26. data/tracks/go/exercises/pascals-triangle/example.go +2 -0
  27. data/tracks/go/exercises/pascals-triangle/pascals_triangle_test.go +8 -0
  28. data/tracks/java/exercises/acronym/src/test/java/AcronymTest.java +8 -0
  29. data/tracks/java/exercises/beer-song/src/test/java/BeerSongTest.java +44 -8
  30. data/tracks/javascript/config.json +27 -9
  31. data/tracks/julia/README.md +3 -0
  32. data/tracks/julia/img/logo.png +0 -0
  33. data/tracks/julia/img/logo.svg +11 -0
  34. data/tracks/r/exercises/TRACK_HINTS.md +8 -0
  35. data/tracks/typescript/config.json +1 -1
  36. metadata +13 -5
  37. data/tracks/r/docs/SETUP.md +0 -8
@@ -45,6 +45,14 @@ public class AcronymTest {
45
45
  assertEquals(expected, Acronym.generate(phrase));
46
46
  }
47
47
 
48
+ @Ignore
49
+ @Test
50
+ public void fromPhrasesWithNonAcronymAllCapsWord() {
51
+ final String phrase = "GNU Image Manipulation Program";
52
+ final String expected = "GIMP";
53
+ assertEquals(expected, Acronym.generate(phrase));
54
+ }
55
+
48
56
  @Ignore
49
57
  @Test
50
58
  public void fromPhrasesWithPunctuationAndSentenceCasing() {
@@ -5,21 +5,57 @@ import static org.junit.Assert.assertEquals;
5
5
 
6
6
  public class BeerSongTest {
7
7
 
8
+ @Test
9
+ public void singFirstVerse() {
10
+ assertEquals("99 bottles of beer on the wall, 99 bottles of beer.\n" +
11
+ "Take one down and pass it around, 98 bottles of beer on the wall.\n\n",
12
+ BeerSong.verse(99));
13
+ }
14
+
15
+ @Ignore
16
+ @Test
17
+ public void singMiddleVerse() {
18
+ assertEquals("44 bottles of beer on the wall, 44 bottles of beer.\n" +
19
+ "Take one down and pass it around, 43 bottles of beer on the wall.\n\n",
20
+ BeerSong.verse(44));
21
+ }
22
+
23
+ @Ignore
24
+ @Test
25
+ public void singThirdToLastVerse() {
26
+ assertEquals("2 bottles of beer on the wall, 2 bottles of beer.\n" +
27
+ "Take one down and pass it around, 1 bottle of beer on the wall.\n\n",
28
+ BeerSong.verse(2));
29
+ }
8
30
 
31
+ @Ignore
9
32
  @Test
10
- public void singOneVerse() {
11
- assertEquals("8 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\n", BeerSong.verse(8));
12
- assertEquals("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\n", BeerSong.verse(2));
13
- assertEquals("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\n", BeerSong.verse(1));
14
- assertEquals("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\n", BeerSong.verse(0));
33
+ public void singPenultimateVerse() {
34
+ assertEquals("1 bottle of beer on the wall, 1 bottle of beer.\n" +
35
+ "Take it down and pass it around, no more bottles of beer on the wall.\n\n",
36
+ BeerSong.verse(1));
37
+ }
15
38
 
39
+ @Ignore
40
+ @Test
41
+ public void singLastVerse() {
42
+ assertEquals("No more bottles of beer on the wall, no more bottles of beer.\n" +
43
+ "Go to the store and buy some more, 99 bottles of beer on the wall.\n\n",
44
+ BeerSong.verse(0));
16
45
  }
17
46
 
18
47
  @Ignore
19
48
  @Test
20
- public void singMoreThanOneVerse() {
21
- assertEquals("8 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\n", BeerSong.sing(8,6));
22
- assertEquals("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\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\n",BeerSong.sing(3,0));
49
+ public void singLastFourVerses() {
50
+ assertEquals("3 bottles of beer on the wall, 3 bottles of beer.\n" +
51
+ "Take one down and pass it around, 2 bottles of beer on the wall.\n\n" +
52
+ "2 bottles of beer on the wall, 2 bottles of beer.\n" +
53
+ "Take one down and pass it around, 1 bottle of beer on the wall.\n\n" +
54
+ "1 bottle of beer on the wall, 1 bottle of beer.\n" +
55
+ "Take it down and pass it around, no more bottles of beer on the wall.\n\n" +
56
+ "No more bottles of beer on the wall, no more bottles of beer.\n" +
57
+ "Go to the store and buy some more, 99 bottles of beer on the wall.\n\n",
58
+ BeerSong.sing(3,0));
23
59
  }
24
60
 
25
61
  @Ignore
@@ -100,19 +100,32 @@
100
100
  ]
101
101
  },
102
102
  {
103
- "slug": "bob",
103
+ "slug": "pangram",
104
104
  "difficulty": 1,
105
105
  "topics": [
106
+ "Control flow (conditionals)",
107
+ "Control flow (loops)",
108
+ "Lists",
109
+ "Strings",
110
+ "Maps",
111
+ "Algorithms",
112
+ "Searching"
106
113
  ]
107
114
  },
108
115
  {
109
- "slug": "gigasecond",
116
+ "slug": "bob",
110
117
  "difficulty": 1,
111
118
  "topics": [
119
+ "Control flow (conditionals)",
120
+ "Polymorfism",
121
+ "Strings",
122
+ "Unicode",
123
+ "Pattern recognition",
124
+ "Regular expressions"
112
125
  ]
113
126
  },
114
127
  {
115
- "slug": "word-count",
128
+ "slug": "gigasecond",
116
129
  "difficulty": 1,
117
130
  "topics": [
118
131
  ]
@@ -123,12 +136,6 @@
123
136
  "topics": [
124
137
  ]
125
138
  },
126
- {
127
- "slug": "pangram",
128
- "difficulty": 1,
129
- "topics": [
130
- ]
131
- },
132
139
  {
133
140
  "slug": "beer-song",
134
141
  "difficulty": 1,
@@ -195,6 +202,17 @@
195
202
  "topics": [
196
203
  ]
197
204
  },
205
+ {
206
+ "slug": "word-count",
207
+ "difficulty": 1,
208
+ "topics": [
209
+ "Control flow (loops)",
210
+ "Lists",
211
+ "Strings",
212
+ "Unicode",
213
+ "Regular expressions"
214
+ ]
215
+ },
198
216
  {
199
217
  "slug": "acronym",
200
218
  "difficulty": 1,
@@ -58,3 +58,6 @@ Your example solutions should adhere to the following guidelines:
58
58
  - it is generally preferred to use ASCII operators and identifiers over Unicode equivalents whenever possible
59
59
 
60
60
  These are based on the [General Formatting Guidelines](https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md#general-formatting-guidelines-for-julia-code-contributions) for contributions to the Julia codebase.
61
+
62
+ ## Julia icon
63
+ The Julia logo has been designed by Stefan Karpinski. He has granted us permission to create and use a derived logo for this exercism track.
Binary file
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
5
+ width="612px" height="792px" viewBox="0 0 612 792" enable-background="new 0 0 612 792" xml:space="preserve">
6
+ <circle fill="#FFFFFF" stroke="#212121" stroke-width="12" stroke-miterlimit="10" cx="287.849" cy="338.754" r="219.026"/>
7
+ <circle fill="#D71D4F" stroke="#212121" stroke-width="12" stroke-miterlimit="10" cx="180.973" cy="398.638" r="82.743"/>
8
+ <circle fill="#FFFFFF" stroke="#212121" stroke-width="12" stroke-miterlimit="10" cx="287.849" cy="216.338" r="82.743"/>
9
+ <circle fill="#212121" stroke="#212121" stroke-width="12" stroke-miterlimit="10" cx="393.733" cy="398.639" r="82.743"/>
10
+ <circle fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" cx="393.733" cy="398.639" r="76.548"/>
11
+ </svg>
@@ -0,0 +1,8 @@
1
+ ## Installation
2
+ See [this guide](https://github.com/exercism/xr/blob/master/docs/INSTALLATION.md) for instructions on how to setup your local R environment.
3
+
4
+ ## How to implement your solution
5
+ In each problem folder, there is a file named `<exercise_name>.R` containing a function that returns a `NULL` value. Place your implementation inside the body of the function.
6
+
7
+ ## How to run tests
8
+ Inside of RStudio, simply execute the `test_<exercise_name>.R` script. On the command-line, you can also run `Rscript test_<exercise_name>.R`.
@@ -2,7 +2,7 @@
2
2
  "slug": "typescript",
3
3
  "language": "TypeScript",
4
4
  "repository": "https://github.com/exercism/xtypescript",
5
- "active": false,
5
+ "active": true,
6
6
  "test_pattern": ".*[.]test[.]ts$",
7
7
  "exercises": [
8
8
  {
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.0.8.7
4
+ version: 2.0.8.8
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-02-27 00:00:00.000000000 Z
11
+ date: 2017-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -180,6 +180,7 @@ files:
180
180
  - common/exercises/custom-set/canonical-data.json
181
181
  - common/exercises/custom-set/description.md
182
182
  - common/exercises/custom-set/metadata.yml
183
+ - common/exercises/diamond/canonical-data.json
183
184
  - common/exercises/diamond/description.md
184
185
  - common/exercises/diamond/metadata.yml
185
186
  - common/exercises/difference-of-squares/canonical-data.json
@@ -293,6 +294,7 @@ files:
293
294
  - common/exercises/pascals-triangle/canonical-data.json
294
295
  - common/exercises/pascals-triangle/description.md
295
296
  - common/exercises/pascals-triangle/metadata.yml
297
+ - common/exercises/perfect-numbers/canonical-data.json
296
298
  - common/exercises/perfect-numbers/description.md
297
299
  - common/exercises/perfect-numbers/metadata.yml
298
300
  - common/exercises/phone-number/canonical-data.json
@@ -2107,6 +2109,9 @@ files:
2107
2109
  - tracks/elixir/exercises/acronym/acronym.exs
2108
2110
  - tracks/elixir/exercises/acronym/acronym_test.exs
2109
2111
  - tracks/elixir/exercises/acronym/example.exs
2112
+ - tracks/elixir/exercises/all-your-base/all-your-base-test.exs
2113
+ - tracks/elixir/exercises/all-your-base/all-your-base.exs
2114
+ - tracks/elixir/exercises/all-your-base/example.exs
2110
2115
  - tracks/elixir/exercises/allergies/allergies.exs
2111
2116
  - tracks/elixir/exercises/allergies/allergies_test.exs
2112
2117
  - tracks/elixir/exercises/allergies/example.exs
@@ -2487,6 +2492,7 @@ files:
2487
2492
  - tracks/erlang/_test/bootstrap.sh
2488
2493
  - tracks/erlang/_test/check-exercises.escript
2489
2494
  - tracks/erlang/bin/fetch-configlet
2495
+ - tracks/erlang/bin/journey-test.sh
2490
2496
  - tracks/erlang/config.json
2491
2497
  - tracks/erlang/docs/ABOUT.md
2492
2498
  - tracks/erlang/docs/INSTALLATION.md
@@ -2602,7 +2608,7 @@ files:
2602
2608
  - tracks/erlang/exercises/nucleotide-count/rebar.config
2603
2609
  - tracks/erlang/exercises/nucleotide-count/src/example.erl
2604
2610
  - tracks/erlang/exercises/nucleotide-count/src/nucleotide_count.app.src
2605
- - tracks/erlang/exercises/nucleotide-count/test/dna_tests.erl
2611
+ - tracks/erlang/exercises/nucleotide-count/test/nucleotide_count_tests.erl
2606
2612
  - tracks/erlang/exercises/parallel-letter-frequency/include/exercism.hrl
2607
2613
  - tracks/erlang/exercises/parallel-letter-frequency/rebar.config
2608
2614
  - tracks/erlang/exercises/parallel-letter-frequency/src/example.erl
@@ -2612,7 +2618,7 @@ files:
2612
2618
  - tracks/erlang/exercises/phone-number/rebar.config
2613
2619
  - tracks/erlang/exercises/phone-number/src/example.erl
2614
2620
  - tracks/erlang/exercises/phone-number/src/phone_number.app.src
2615
- - tracks/erlang/exercises/phone-number/test/phone_tests.erl
2621
+ - tracks/erlang/exercises/phone-number/test/phone_number_tests.erl
2616
2622
  - tracks/erlang/exercises/rna-transcription/include/exercism.hrl
2617
2623
  - tracks/erlang/exercises/rna-transcription/rebar.config
2618
2624
  - tracks/erlang/exercises/rna-transcription/src/example.erl
@@ -4427,6 +4433,8 @@ files:
4427
4433
  - tracks/julia/exercises/word-count/runtests.jl
4428
4434
  - tracks/julia/exercises/word-count/word-count.jl
4429
4435
  - tracks/julia/img/.keep
4436
+ - tracks/julia/img/logo.png
4437
+ - tracks/julia/img/logo.svg
4430
4438
  - tracks/julia/runtests.jl
4431
4439
  - tracks/kotlin/.git
4432
4440
  - tracks/kotlin/.gitignore
@@ -6305,8 +6313,8 @@ files:
6305
6313
  - tracks/r/docs/INSTALLATION.md
6306
6314
  - tracks/r/docs/LEARNING.md
6307
6315
  - tracks/r/docs/RESOURCES.md
6308
- - tracks/r/docs/SETUP.md
6309
6316
  - tracks/r/docs/TESTS.md
6317
+ - tracks/r/exercises/TRACK_HINTS.md
6310
6318
  - tracks/r/exercises/anagram/anagram.R
6311
6319
  - tracks/r/exercises/anagram/example.R
6312
6320
  - tracks/r/exercises/anagram/test_anagram.R
@@ -1,8 +0,0 @@
1
- ## Installation
2
- See [this guide](https://github.com/exercism/xr/blob/master/docs/INSTALLATION.md) for instructions on how to setup your local R environment.
3
-
4
- ## How to implement your solution
5
- In each problem folder, there is a file named `problem.R` containing a function that returns a `NULL` value. Place your implementation inside the body of the function.
6
-
7
- ## How to run tests
8
- Inside of RStudio, simply execute the `test_problem.R` script. On the command-line, you can also run `Rscript test_problem.R`.