trackler 2.0.8.7 → 2.0.8.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/common/CONTRIBUTING.md +2 -2
- data/common/exercises/diamond/canonical-data.json +125 -0
- data/common/exercises/difference-of-squares/metadata.yml +1 -1
- data/common/exercises/hello-world/description.md +1 -1
- data/common/exercises/perfect-numbers/canonical-data.json +108 -0
- data/common/exercises/word-search/description.md +9 -9
- data/lib/trackler/version.rb +1 -1
- data/tracks/delphi/exercises/bob/uBobTests.pas +17 -17
- data/tracks/elixir/config.json +6 -0
- data/tracks/elixir/exercises/all-your-base/all-your-base-test.exs +115 -0
- data/tracks/elixir/exercises/all-your-base/all-your-base.exs +10 -0
- data/tracks/elixir/exercises/all-your-base/example.exs +48 -0
- data/tracks/erlang/.gitignore +1 -0
- data/tracks/erlang/.travis.yml +5 -1
- data/tracks/erlang/bin/journey-test.sh +264 -0
- data/tracks/erlang/exercises/allergies/test/allergies_tests.erl +1 -1
- data/tracks/erlang/exercises/nucleotide-count/test/{dna_tests.erl → nucleotide_count_tests.erl} +2 -2
- data/tracks/erlang/exercises/parallel-letter-frequency/src/example.erl +1 -1
- data/tracks/erlang/exercises/phone-number/test/{phone_tests.erl → phone_number_tests.erl} +2 -2
- data/tracks/erlang/exercises/robot-simulator/src/example.erl +1 -1
- data/tracks/erlang/exercises/scrabble-score/test/scrabble_score_tests.erl +1 -1
- data/tracks/erlang/exercises/series/src/example.erl +1 -1
- data/tracks/go/exercises/parallel-letter-frequency/example.go +2 -0
- data/tracks/go/exercises/parallel-letter-frequency/parallel_letter_frequency_test.go +8 -0
- data/tracks/go/exercises/pascals-triangle/example.go +2 -0
- data/tracks/go/exercises/pascals-triangle/pascals_triangle_test.go +8 -0
- data/tracks/java/exercises/acronym/src/test/java/AcronymTest.java +8 -0
- data/tracks/java/exercises/beer-song/src/test/java/BeerSongTest.java +44 -8
- data/tracks/javascript/config.json +27 -9
- data/tracks/julia/README.md +3 -0
- data/tracks/julia/img/logo.png +0 -0
- data/tracks/julia/img/logo.svg +11 -0
- data/tracks/r/exercises/TRACK_HINTS.md +8 -0
- data/tracks/typescript/config.json +1 -1
- metadata +13 -5
- 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
|
11
|
-
assertEquals("
|
12
|
-
|
13
|
-
|
14
|
-
|
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
|
21
|
-
assertEquals("
|
22
|
-
|
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": "
|
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": "
|
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": "
|
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,
|
data/tracks/julia/README.md
CHANGED
@@ -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`.
|
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.
|
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
|
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/
|
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/
|
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
|
data/tracks/r/docs/SETUP.md
DELETED
@@ -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`.
|