trackler 2.1.0.12 → 2.1.0.13
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/exercises/difference-of-squares/canonical-data.json +15 -21
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/config.json +9 -0
- data/tracks/c/exercises/scrabble-score/makefile +16 -0
- data/tracks/c/exercises/scrabble-score/src/example.c +43 -0
- data/tracks/c/exercises/scrabble-score/src/example.h +6 -0
- data/tracks/c/exercises/scrabble-score/test/test_scrabble_score.c +77 -0
- data/tracks/c/exercises/scrabble-score/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/scrabble-score/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/scrabble-score/test/vendor/unity_internals.h +701 -0
- data/tracks/csharp/exercises/grade-school/Example.cs +1 -1
- data/tracks/csharp/exercises/grade-school/GradeSchoolTest.cs +8 -8
- data/tracks/elixir/README.md +29 -12
- data/tracks/elixir/SETUP.md +0 -1
- data/tracks/elixir/docs/ABOUT.md +21 -7
- data/tracks/elixir/docs/LEARNING.md +4 -2
- data/tracks/elixir/docs/RESOURCES.md +2 -2
- data/tracks/elixir/docs/TESTS.md +0 -2
- data/tracks/go/exercises/atbash-cipher/.meta/gen.go +61 -0
- data/tracks/go/exercises/atbash-cipher/atbash_cipher_test.go +1 -16
- data/tracks/go/exercises/atbash-cipher/cases_test.go +61 -0
- data/tracks/go/exercises/atbash-cipher/example.go +1 -1
- data/tracks/java/exercises/hamming/src/main/java/Hamming.java +9 -0
- data/tracks/java/exercises/simple-linked-list/src/test/java/SimpleLinkedListTest.java +4 -4
- data/tracks/javascript/docs/TESTS.md +1 -1
- data/tracks/ocaml/config.json +5 -0
- data/tracks/ocaml/exercises/acronym/test.ml +2 -0
- data/tracks/ocaml/exercises/all-your-base/test.ml +2 -0
- data/tracks/ocaml/exercises/anagram/test.ml +2 -0
- data/tracks/ocaml/exercises/atbash-cipher/test.ml +3 -0
- data/tracks/ocaml/exercises/beer-song/test.ml +2 -0
- data/tracks/ocaml/exercises/binary-search/.merlin +5 -0
- data/tracks/ocaml/exercises/binary-search/Makefile +11 -0
- data/tracks/ocaml/exercises/binary-search/binary_search.mli +2 -0
- data/tracks/ocaml/exercises/binary-search/example.ml +19 -0
- data/tracks/ocaml/exercises/binary-search/test.ml +38 -0
- data/tracks/ocaml/exercises/bob/test.ml +2 -0
- data/tracks/ocaml/exercises/bowling/test.ml +2 -0
- data/tracks/ocaml/exercises/bracket-push/test.ml +2 -0
- data/tracks/ocaml/exercises/change/test.ml +2 -0
- data/tracks/ocaml/exercises/connect/test.ml +2 -0
- data/tracks/ocaml/exercises/difference-of-squares/test.ml +10 -8
- data/tracks/ocaml/exercises/dominoes/test.ml +2 -0
- data/tracks/ocaml/exercises/etl/test.ml +2 -0
- data/tracks/ocaml/exercises/hamming/test.ml +2 -0
- data/tracks/ocaml/exercises/hello-world/test.ml +2 -0
- data/tracks/ocaml/exercises/leap/test.ml +2 -0
- data/tracks/ocaml/exercises/luhn/test.ml +2 -0
- data/tracks/ocaml/exercises/minesweeper/test.ml +2 -0
- data/tracks/ocaml/exercises/pangram/test.ml +2 -0
- data/tracks/ocaml/exercises/phone-number/test.ml +2 -0
- data/tracks/ocaml/exercises/prime-factors/test.ml +2 -0
- data/tracks/ocaml/exercises/raindrops/test.ml +2 -0
- data/tracks/ocaml/exercises/roman-numerals/test.ml +2 -0
- data/tracks/ocaml/exercises/run-length-encoding/test.ml +2 -0
- data/tracks/ocaml/exercises/say/test.ml +2 -0
- data/tracks/ocaml/exercises/space-age/test.ml +2 -0
- data/tracks/ocaml/exercises/triangle/test.ml +2 -0
- data/tracks/ocaml/exercises/word-count/test.ml +2 -0
- data/tracks/ocaml/tools/test-generator/src/controller.ml +15 -5
- data/tracks/ocaml/tools/test-generator/src/model.ml +5 -0
- data/tracks/ocaml/tools/test-generator/src/parser.ml +5 -4
- data/tracks/ocaml/tools/test-generator/src/special_cases.ml +12 -0
- data/tracks/ocaml/tools/test-generator/templates/binary-search/template.ml +20 -0
- data/tracks/ocaml/tools/test-generator/templates/change/template.ml +2 -2
- data/tracks/ocaml/tools/test-generator/templates/say/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/test/parser_test.ml +1 -1
- data/tracks/r/docs/TESTS.md +24 -4
- data/tracks/ruby/exercises/trinary/trinary_test.rb +1 -0
- data/tracks/scala/config.json +9 -0
- data/tracks/scala/exercises/accumulate/src/main/scala/Accumulate.scala +3 -0
- data/tracks/scala/exercises/bob/src/main/scala/Bob.scala +3 -0
- data/tracks/scala/exercises/difference-of-squares/src/main/scala/Squares.scala +8 -0
- data/tracks/scala/exercises/gigasecond/src/main/scala/Gigasecond.scala +8 -0
- data/tracks/scala/exercises/grade-school/src/main/scala/School.scala +11 -0
- data/tracks/scala/exercises/pangram/src/main/scala/Pangrams.scala +4 -0
- data/tracks/scala/exercises/protein-translation/build.sbt +3 -0
- data/tracks/scala/exercises/protein-translation/example.scala +41 -0
- data/tracks/scala/exercises/protein-translation/src/main/scala/.keep +0 -0
- data/tracks/scala/exercises/protein-translation/src/test/scala/ProteinTranslationTest.scala +59 -0
- data/tracks/scala/exercises/space-age/src/main/scala/SpaceAge.scala +10 -0
- metadata +28 -2
@@ -69,17 +69,17 @@ public void Grade_returns_an_empty_list_if_there_are_no_students_in_that_grade()
|
|
69
69
|
public void Student_names_with_grades_are_displayed_in_the_same_sorted_roster()
|
70
70
|
{
|
71
71
|
var school = new School();
|
72
|
-
school.Add("
|
73
|
-
school.Add("
|
74
|
-
school.Add("
|
75
|
-
school.Add("
|
72
|
+
school.Add("Peter", 2);
|
73
|
+
school.Add("Anna", 1);
|
74
|
+
school.Add("Barb", 1);
|
75
|
+
school.Add("Zoe", 2);
|
76
|
+
school.Add("Alex", 2);
|
77
|
+
school.Add("Jim", 3);
|
78
|
+
school.Add("Charlie", 1);
|
76
79
|
|
77
80
|
var actual = school.Roster();
|
78
81
|
|
79
|
-
|
80
|
-
var expected = new[] { "Christopher", "Jennifer", "Kareem", "Kyle" };
|
82
|
+
var expected = new[] { "Anna", "Barb", "Charlie", "Alex", "Peter", "Zoe", "Jim" };
|
81
83
|
Assert.Equal(expected, actual);
|
82
|
-
|
83
|
-
|
84
84
|
}
|
85
85
|
}
|
data/tracks/elixir/README.md
CHANGED
@@ -1,17 +1,22 @@
|
|
1
1
|
# xElixir
|
2
|
+
|
2
3
|

|
3
4
|
|
4
5
|
Exercism Exercises in Elixir
|
5
6
|
|
6
7
|
## Setup
|
7
8
|
|
8
|
-
The exercises currently target Elixir 1.3.2 and Erlang/OTP 19. Detailed
|
9
|
+
The exercises currently target Elixir 1.3.2 and Erlang/OTP 19. Detailed
|
10
|
+
installation instructions can be found at
|
11
|
+
[http://elixir-lang.org/install.html](http://elixir-lang.org/install.html).
|
9
12
|
|
10
13
|
## Contributing
|
11
14
|
|
12
15
|
Thank you so much for contributing! :tada:
|
13
16
|
|
14
|
-
We welcome pull requests that provide fixes and improvements to existing
|
17
|
+
We welcome pull requests that provide fixes and improvements to existing
|
18
|
+
exercises. If you're unsure, then go ahead and open a GitHub issue, and we'll
|
19
|
+
discuss the change.
|
15
20
|
|
16
21
|
Please keep the following in mind:
|
17
22
|
|
@@ -19,25 +24,35 @@ Please keep the following in mind:
|
|
19
24
|
|
20
25
|
- Pull requests should be focused on a single exercise, issue, or change.
|
21
26
|
|
22
|
-
- We welcome changes to code style, and wording. Please open a separate PR for
|
27
|
+
- We welcome changes to code style, and wording. Please open a separate PR for
|
28
|
+
these changes if possible.
|
23
29
|
|
24
|
-
- Please open an issue before creating a PR that makes significant (breaking)
|
30
|
+
- Please open an issue before creating a PR that makes significant (breaking)
|
31
|
+
changes to an existing exercise or makes changes across many exercises. It is
|
32
|
+
best to discuss these changes before doing the work.
|
25
33
|
|
26
|
-
- Follow the coding standards found in
|
34
|
+
- Follow the coding standards found in
|
35
|
+
[The Elixir Style Guide](https://github.com/niftyn8/elixir_style_guide).
|
27
36
|
|
28
37
|
- Watch out for trailing spaces, extra blank lines, and spaces in blank lines.
|
29
38
|
|
30
|
-
- Each exercise must stand on its own. Do not reference files outside the
|
39
|
+
- Each exercise must stand on its own. Do not reference files outside the
|
40
|
+
exercise directory. They will not be included when the user fetches the
|
41
|
+
exercise.
|
31
42
|
|
32
|
-
- Please do not add a README or README.md file to the exercise directory. The
|
33
|
-
|
43
|
+
- Please do not add a README or README.md file to the exercise directory. The
|
44
|
+
READMEs are constructed using shared metadata, which lives in the
|
45
|
+
[exercism/x-common](https://github.com/exercism/x-common) repository.
|
34
46
|
|
35
|
-
- Each problem should have a test suite, an example solution, and a template
|
36
|
-
The example solution should be named
|
47
|
+
- Each problem should have a test suite, an example solution, and a template
|
48
|
+
file for the real implementation. The example solution should be named
|
49
|
+
`example.exs`.
|
37
50
|
|
38
51
|
- Use typespecs in the example and template files as described [here](http://elixir-lang.org/getting-started/typespecs-and-behaviours.html).
|
39
52
|
|
40
|
-
- Each test file should have code like the following at the top of the file.
|
53
|
+
- Each test file should have code like the following at the top of the file.
|
54
|
+
This allows the tests to be run on CI and configures tests to be skipped with
|
55
|
+
the `:pending` flag.
|
41
56
|
|
42
57
|
```elixir
|
43
58
|
if !System.get_env("EXERCISM_TEST_EXAMPLES") do
|
@@ -57,7 +72,9 @@ test "shouting" do
|
|
57
72
|
end
|
58
73
|
```
|
59
74
|
|
60
|
-
All the tests for xElixir exercises can be run from the top level of the repo
|
75
|
+
All the tests for xElixir exercises can be run from the top level of the repo
|
76
|
+
with `$ mix test`. Please run this command before submitting your PR. Watch out
|
77
|
+
for and correct any compiler warnings you may have introduced.
|
61
78
|
|
62
79
|
## License
|
63
80
|
|
data/tracks/elixir/SETUP.md
CHANGED
data/tracks/elixir/docs/ABOUT.md
CHANGED
@@ -1,17 +1,31 @@
|
|
1
|
-
[Elixir](http://elixir-lang.org/), initially released in 2012, extends upon the
|
1
|
+
[Elixir](http://elixir-lang.org/), initially released in 2012, extends upon the
|
2
|
+
already robust features of Erlang while also being easier for beginners to
|
3
|
+
access, read, test, and write.
|
4
|
+
|
5
|
+
José Valim, the creator of Elixir, explains [here](https://vimeo.com/53221562)
|
6
|
+
how he built the language for applications to be:
|
2
7
|
|
3
|
-
José Valim, the creator of Elixir, explains [here](https://vimeo.com/53221562) how he built the language for applications to be:
|
4
8
|
1. Distributed
|
5
9
|
2. Fault-Tolerant
|
6
10
|
3. Soft-Real-Time
|
7
11
|
4. Hot-Code-Swapped (can introduce new code without stopping the server)
|
8
12
|
|
9
|
-
Elixir actually compiles down to [bytecode](https://en.wikipedia.org/wiki/Bytecode)
|
13
|
+
Elixir actually compiles down to [bytecode](https://en.wikipedia.org/wiki/Bytecode)
|
14
|
+
and then runs on the [BEAM Erlang Virtual Machine](http://erlangcentral.org/videos/euc-2014-robert-virding-hitchhikers-tour-of-the-beam/).
|
10
15
|
|
11
|
-
There is no "conversion cost" for calling Erlang, meaning you can run Erlang
|
16
|
+
There is no "conversion cost" for calling Erlang, meaning you can run Erlang
|
17
|
+
code right next to Elixir code.
|
12
18
|
|
13
|
-
Being a functional language, everything in Elixir is an expression. Elixir has
|
19
|
+
Being a functional language, everything in Elixir is an expression. Elixir has
|
20
|
+
"First Class Documentation" meaning comments can be attached to a function,
|
21
|
+
making it easier to retrieve. Regular expressions are also given first class
|
22
|
+
treatment, removing awkward escaping within strings.
|
14
23
|
|
15
|
-
Elixir's asynchronous communication implementation allows the code to be
|
24
|
+
Elixir's asynchronous communication implementation allows the code to be
|
25
|
+
lightweight, yet incorporate high-volume concurrency. Programmers use Elixir to
|
26
|
+
handle thousands of requests and responses *concurrently* on a single server
|
27
|
+
node. It has been used successfully for microservices that need to consume and
|
28
|
+
serve a multitude of APIs rapidly.
|
16
29
|
|
17
|
-
The [Phoenix framework](http://www.phoenixframework.org/) helps structure Elixir
|
30
|
+
The [Phoenix framework](http://www.phoenixframework.org/) helps structure Elixir
|
31
|
+
applications for the web.
|
@@ -1,4 +1,6 @@
|
|
1
|
-
Exercism provides exercises and feedback but can be difficult to jump into for
|
1
|
+
Exercism provides exercises and feedback but can be difficult to jump into for
|
2
|
+
those learning Elixir for the first time. These resources can help you get
|
3
|
+
started:
|
2
4
|
|
3
5
|
* [Elixir Getting Started Guide](http://elixir-lang.org/getting-started/introduction.html)
|
4
6
|
* [Elixir Documentation](http://elixir-lang.org/docs/stable/elixir/)
|
@@ -9,4 +11,4 @@ Exercism provides exercises and feedback but can be difficult to jump into for t
|
|
9
11
|
* [Elixir School](https://elixirschool.com)
|
10
12
|
* [Elixir Examples](https://elixir-examples.github.io/)
|
11
13
|
* [Exercism's BEAM Gitter channel](https://gitter.im/exercism/xerlang)
|
12
|
-
* [Elixir Forum](https://elixirforum.com/)
|
14
|
+
* [Elixir Forum](https://elixirforum.com/)
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* [Elixir Docs](http://elixir-lang.org/docs.html)
|
4
4
|
|
5
5
|
## Hex - A package manager for the Erlang ecosystem.
|
6
|
-
|
6
|
+
|
7
7
|
* [Hex Docs](https://hex.pm/)
|
8
8
|
|
9
9
|
## Testing with ExUnit
|
@@ -24,4 +24,4 @@
|
|
24
24
|
|
25
25
|
## Elixir Forum
|
26
26
|
|
27
|
-
* [Elixir Forum](https://elixirforum.com/)
|
27
|
+
* [Elixir Forum](https://elixirforum.com/)
|
data/tracks/elixir/docs/TESTS.md
CHANGED
@@ -8,7 +8,6 @@ $ elixir bob_test.exs
|
|
8
8
|
|
9
9
|
(Replace `bob_test.exs` with the name of the test file.)
|
10
10
|
|
11
|
-
|
12
11
|
### Pending tests
|
13
12
|
|
14
13
|
In the test suites, all but the first test have been skipped.
|
@@ -75,7 +74,6 @@ will most likely not have a `plt` file. The persistent lookup table,
|
|
75
74
|
or PLT is used by Dialyzer to cache information about built in Elixir
|
76
75
|
and Erlang types. To create a plt with sensible defaults run:
|
77
76
|
|
78
|
-
|
79
77
|
```bash
|
80
78
|
$ dialyzer --build_plt --apps erts kernel stdlib crypto public_key /path/to/elixir
|
81
79
|
```
|
@@ -0,0 +1,61 @@
|
|
1
|
+
// +build ignore
|
2
|
+
|
3
|
+
package main
|
4
|
+
|
5
|
+
import (
|
6
|
+
"log"
|
7
|
+
"text/template"
|
8
|
+
|
9
|
+
"../../../gen"
|
10
|
+
)
|
11
|
+
|
12
|
+
func main() {
|
13
|
+
t := template.New("").Funcs(template.FuncMap{
|
14
|
+
"isEncode": isEncode,
|
15
|
+
})
|
16
|
+
t, err := t.Parse(tmpl)
|
17
|
+
if err != nil {
|
18
|
+
log.Fatal(err)
|
19
|
+
}
|
20
|
+
var j js
|
21
|
+
if err := gen.Gen("atbash-cipher", &j, t); err != nil {
|
22
|
+
log.Fatal(err)
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
func isEncode(property string) bool {
|
27
|
+
return property == "encode"
|
28
|
+
}
|
29
|
+
|
30
|
+
// The JSON structure we expect to be able to unmarshal into
|
31
|
+
type js struct {
|
32
|
+
Cases []struct {
|
33
|
+
Description string
|
34
|
+
Cases []struct {
|
35
|
+
Description string
|
36
|
+
Property string
|
37
|
+
Phrase string
|
38
|
+
Expected string
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
// template applied to above data structure generates the Go test cases
|
44
|
+
var tmpl = `package atbash
|
45
|
+
|
46
|
+
{{.Header}}
|
47
|
+
|
48
|
+
type atbashTest struct {
|
49
|
+
s string
|
50
|
+
expected string
|
51
|
+
}
|
52
|
+
|
53
|
+
var tests = []atbashTest {
|
54
|
+
{{range .J.Cases}} {{range .Cases}}{
|
55
|
+
{{if isEncode .Property}} s: {{printf "%q" .Phrase }},
|
56
|
+
expected: {{printf "%q" .Expected }}, {{else}} s: {{printf "%q" .Expected }},
|
57
|
+
expected: {{printf "%q" .Phrase }}, {{- end}}
|
58
|
+
},
|
59
|
+
{{end}}{{end}}
|
60
|
+
}
|
61
|
+
`
|
@@ -2,22 +2,7 @@ package atbash
|
|
2
2
|
|
3
3
|
import "testing"
|
4
4
|
|
5
|
-
const targetTestVersion =
|
6
|
-
|
7
|
-
var tests = []struct {
|
8
|
-
expected string
|
9
|
-
s string
|
10
|
-
}{
|
11
|
-
{"ml", "no"},
|
12
|
-
{"ml", "no"},
|
13
|
-
{"bvh", "yes"},
|
14
|
-
{"lnt", "OMG"},
|
15
|
-
{"lnt", "O M G"},
|
16
|
-
{"nrmwy oldrm tob", "mindblowingly"},
|
17
|
-
{"gvhgr mt123 gvhgr mt", "Testing, 1 2 3, testing."},
|
18
|
-
{"gifgs rhurx grlm", "Truth is fiction."},
|
19
|
-
{"gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt", "The quick brown fox jumps over the lazy dog."},
|
20
|
-
}
|
5
|
+
const targetTestVersion = 2
|
21
6
|
|
22
7
|
func TestTestVersion(t *testing.T) {
|
23
8
|
if testVersion != targetTestVersion {
|
@@ -0,0 +1,61 @@
|
|
1
|
+
package atbash
|
2
|
+
|
3
|
+
// Source: exercism/x-common
|
4
|
+
// Commit: bb4f220 atbash-cipher: Fix canonical-data.json formatting
|
5
|
+
// x-common version: 1.0.0
|
6
|
+
|
7
|
+
type atbashTest struct {
|
8
|
+
s string
|
9
|
+
expected string
|
10
|
+
}
|
11
|
+
|
12
|
+
var tests = []atbashTest{
|
13
|
+
{
|
14
|
+
s: "yes",
|
15
|
+
expected: "bvh",
|
16
|
+
},
|
17
|
+
{
|
18
|
+
s: "no",
|
19
|
+
expected: "ml",
|
20
|
+
},
|
21
|
+
{
|
22
|
+
s: "OMG",
|
23
|
+
expected: "lnt",
|
24
|
+
},
|
25
|
+
{
|
26
|
+
s: "O M G",
|
27
|
+
expected: "lnt",
|
28
|
+
},
|
29
|
+
{
|
30
|
+
s: "mindblowingly",
|
31
|
+
expected: "nrmwy oldrm tob",
|
32
|
+
},
|
33
|
+
{
|
34
|
+
s: "Testing,1 2 3, testing.",
|
35
|
+
expected: "gvhgr mt123 gvhgr mt",
|
36
|
+
},
|
37
|
+
{
|
38
|
+
s: "Truth is fiction.",
|
39
|
+
expected: "gifgs rhurx grlm",
|
40
|
+
},
|
41
|
+
{
|
42
|
+
s: "The quick brown fox jumps over the lazy dog.",
|
43
|
+
expected: "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt",
|
44
|
+
},
|
45
|
+
{
|
46
|
+
s: "exercism",
|
47
|
+
expected: "vcvix rhn",
|
48
|
+
},
|
49
|
+
{
|
50
|
+
s: "anobstacleisoftenasteppingstone",
|
51
|
+
expected: "zmlyh gzxov rhlug vmzhg vkkrm thglm v",
|
52
|
+
},
|
53
|
+
{
|
54
|
+
s: "testing123testing",
|
55
|
+
expected: "gvhgr mt123 gvhgr mt",
|
56
|
+
},
|
57
|
+
{
|
58
|
+
s: "thequickbrownfoxjumpsoverthelazydog",
|
59
|
+
expected: "gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt",
|
60
|
+
},
|
61
|
+
}
|
@@ -1,2 +1,11 @@
|
|
1
1
|
public class Hamming {
|
2
|
+
|
3
|
+
Hamming(String leftStrand, String rightStrand) {
|
4
|
+
throw new UnsupportedOperationException("Delete this statement and write your own implementation.");
|
5
|
+
}
|
6
|
+
|
7
|
+
int getHammingDistance() {
|
8
|
+
throw new UnsupportedOperationException("Delete this statement and write your own implementation.");
|
9
|
+
}
|
10
|
+
|
2
11
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import org.junit.Ignore;
|
2
|
-
import org.junit.Test;
|
3
2
|
import org.junit.Rule;
|
3
|
+
import org.junit.Test;
|
4
4
|
import org.junit.rules.ExpectedException;
|
5
5
|
|
6
6
|
import java.util.NoSuchElementException;
|
@@ -12,7 +12,7 @@ public class SimpleLinkedListTest {
|
|
12
12
|
|
13
13
|
@Rule
|
14
14
|
public ExpectedException thrown = ExpectedException.none();
|
15
|
-
|
15
|
+
|
16
16
|
@Test
|
17
17
|
public void aNewListIsEmpty() {
|
18
18
|
SimpleLinkedList list = new SimpleLinkedList();
|
@@ -74,7 +74,7 @@ public class SimpleLinkedListTest {
|
|
74
74
|
list.push(6);
|
75
75
|
list.push(5);
|
76
76
|
Integer[] expected = {5, 6, 7, 8, 9};
|
77
|
-
|
77
|
+
assertArrayEquals(expected, list.asArray(Integer.class));
|
78
78
|
}
|
79
79
|
|
80
80
|
@Ignore("Remove to run test")
|
@@ -82,7 +82,7 @@ public class SimpleLinkedListTest {
|
|
82
82
|
public void canReturnEmptyListAsEmptyArray() {
|
83
83
|
SimpleLinkedList list = new SimpleLinkedList();
|
84
84
|
Object[] expected = {};
|
85
|
-
|
85
|
+
assertArrayEquals(expected, list.asArray(Object.class));
|
86
86
|
}
|
87
87
|
|
88
88
|
}
|
@@ -2,7 +2,7 @@ With the first few exercises, you will get a skeleton file with the exported mod
|
|
2
2
|
For later ones, you can find more information about modules in the [node documentation](http://nodejs.org/api/modules.html#modules_module_exports).
|
3
3
|
|
4
4
|
For running tests, install `jasmine` as described in the [Installing Javascript section](http://exercism.io/languages/javascript/installing).
|
5
|
-
Move to the folder where that exercise's files are located (a path similar to
|
5
|
+
Move to the folder where that exercise's files are located (a path similar to {EXERCISM_HOME_DIR}/javascript/{EXERCISE}).
|
6
6
|
|
7
7
|
cd ~/exercism/javascript/bob
|
8
8
|
jasmine bob_test.spec.js
|
data/tracks/ocaml/config.json
CHANGED