trackler 2.1.0.21 → 2.1.0.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/delphi/exercises/allergies/uAllergiesExample.pas +10 -3
- data/tracks/ocaml/.travis-ci.sh +3 -1
- data/tracks/ocaml/exercises/acronym/Makefile +1 -1
- data/tracks/ocaml/exercises/acronym/example.ml +1 -1
- data/tracks/ocaml/exercises/acronym/test.ml +2 -4
- data/tracks/ocaml/exercises/all-your-base/example.ml +1 -1
- data/tracks/ocaml/exercises/all-your-base/test.ml +1 -1
- data/tracks/ocaml/exercises/anagram/example.ml +1 -1
- data/tracks/ocaml/exercises/anagram/test.ml +1 -1
- data/tracks/ocaml/exercises/atbash-cipher/example.ml +1 -1
- data/tracks/ocaml/exercises/atbash-cipher/test.ml +1 -1
- data/tracks/ocaml/exercises/beer-song/example.ml +1 -1
- data/tracks/ocaml/exercises/beer-song/test.ml +1 -1
- data/tracks/ocaml/exercises/binary-search/Makefile +1 -1
- data/tracks/ocaml/exercises/binary-search/example.ml +5 -5
- data/tracks/ocaml/exercises/binary-search/test.ml +1 -1
- data/tracks/ocaml/exercises/bob/example.ml +1 -1
- data/tracks/ocaml/exercises/bob/test.ml +1 -1
- data/tracks/ocaml/exercises/bowling/bowling.mli +1 -1
- data/tracks/ocaml/exercises/bowling/example.ml +1 -1
- data/tracks/ocaml/exercises/bowling/test.ml +1 -1
- data/tracks/ocaml/exercises/bracket-push/example.ml +1 -1
- data/tracks/ocaml/exercises/bracket-push/test.ml +1 -1
- data/tracks/ocaml/exercises/change/example.ml +1 -1
- data/tracks/ocaml/exercises/change/test.ml +1 -1
- data/tracks/ocaml/exercises/connect/example.ml +1 -1
- data/tracks/ocaml/exercises/connect/test.ml +1 -1
- data/tracks/ocaml/exercises/difference-of-squares/example.ml +1 -1
- data/tracks/ocaml/exercises/difference-of-squares/test.ml +1 -1
- data/tracks/ocaml/exercises/dominoes/example.ml +1 -1
- data/tracks/ocaml/exercises/dominoes/test.ml +1 -1
- data/tracks/ocaml/exercises/etl/example.ml +1 -1
- data/tracks/ocaml/exercises/etl/test.ml +1 -1
- data/tracks/ocaml/exercises/grade-school/example.ml +1 -1
- data/tracks/ocaml/exercises/grade-school/grade_school.mli +1 -1
- data/tracks/ocaml/exercises/grade-school/test.ml +1 -1
- data/tracks/ocaml/exercises/hamming/example.ml +1 -1
- data/tracks/ocaml/exercises/hamming/test.ml +1 -1
- data/tracks/ocaml/exercises/hangman/example.ml +1 -1
- data/tracks/ocaml/exercises/hello-world/test.ml +1 -1
- data/tracks/ocaml/exercises/hexadecimal/example.ml +1 -1
- data/tracks/ocaml/exercises/hexadecimal/test.ml +1 -1
- data/tracks/ocaml/exercises/leap/test.ml +1 -1
- data/tracks/ocaml/exercises/list-ops/test.ml +1 -1
- data/tracks/ocaml/exercises/luhn/example.ml +1 -1
- data/tracks/ocaml/exercises/luhn/test.ml +1 -1
- data/tracks/ocaml/exercises/meetup/example.ml +1 -1
- data/tracks/ocaml/exercises/meetup/test.ml +1 -1
- data/tracks/ocaml/exercises/minesweeper/example.ml +1 -1
- data/tracks/ocaml/exercises/minesweeper/test.ml +1 -1
- data/tracks/ocaml/exercises/nucleotide-count/example.ml +1 -1
- data/tracks/ocaml/exercises/nucleotide-count/nucleotide_count.mli +1 -1
- data/tracks/ocaml/exercises/nucleotide-count/test.ml +1 -1
- data/tracks/ocaml/exercises/pangram/example.ml +1 -1
- data/tracks/ocaml/exercises/pangram/test.ml +1 -1
- data/tracks/ocaml/exercises/phone-number/example.ml +1 -1
- data/tracks/ocaml/exercises/phone-number/test.ml +1 -1
- data/tracks/ocaml/exercises/prime-factors/example.ml +1 -1
- data/tracks/ocaml/exercises/prime-factors/test.ml +1 -1
- data/tracks/ocaml/exercises/raindrops/example.ml +1 -1
- data/tracks/ocaml/exercises/raindrops/test.ml +1 -1
- data/tracks/ocaml/exercises/rna-transcription/example.ml +1 -1
- data/tracks/ocaml/exercises/rna-transcription/test.ml +1 -1
- data/tracks/ocaml/exercises/robot-name/example.ml +1 -1
- data/tracks/ocaml/exercises/robot-name/test.ml +1 -1
- data/tracks/ocaml/exercises/roman-numerals/test.ml +1 -1
- data/tracks/ocaml/exercises/run-length-encoding/example.ml +1 -1
- data/tracks/ocaml/exercises/run-length-encoding/test.ml +1 -1
- data/tracks/ocaml/exercises/say/example.ml +1 -1
- data/tracks/ocaml/exercises/say/test.ml +1 -1
- data/tracks/ocaml/exercises/space-age/example.ml +1 -1
- data/tracks/ocaml/exercises/space-age/test.ml +1 -1
- data/tracks/ocaml/exercises/triangle/example.ml +1 -1
- data/tracks/ocaml/exercises/triangle/test.ml +1 -1
- data/tracks/ocaml/exercises/word-count/example.ml +1 -1
- data/tracks/ocaml/exercises/word-count/test.ml +1 -1
- data/tracks/ocaml/exercises/word-count/word_count.mli +1 -3
- data/tracks/ocaml/exercises/zipper/example.ml +1 -1
- data/tracks/ocaml/exercises/zipper/test.ml +1 -1
- data/tracks/ocaml/exercises/zipper/tree.ml +1 -1
- data/tracks/ocaml/exercises/zipper/tree.mli +1 -1
- data/tracks/ocaml/exercises/zipper/zipper.mli +1 -1
- data/tracks/ocaml/tools/test-generator/src/canonical_data_checker.ml +1 -1
- data/tracks/ocaml/tools/test-generator/src/codegen.ml +1 -1
- data/tracks/ocaml/tools/test-generator/src/controller.ml +1 -1
- data/tracks/ocaml/tools/test-generator/src/debug.ml +1 -1
- data/tracks/ocaml/tools/test-generator/src/files.ml +1 -1
- data/tracks/ocaml/tools/test-generator/src/model.ml +1 -1
- data/tracks/ocaml/tools/test-generator/src/parser.ml +5 -5
- data/tracks/ocaml/tools/test-generator/src/special_cases.ml +1 -1
- data/tracks/ocaml/tools/test-generator/src/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/src/test_gen.ml +1 -1
- data/tracks/ocaml/tools/test-generator/src/utils.ml +2 -2
- data/tracks/ocaml/tools/test-generator/templates/acronym/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/all-your-base/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/anagram/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/atbash-cipher/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/beer-song/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/binary-search/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/bob/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/bowling/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/bracket-push/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/change/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/connect/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/difference-of-squares/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/dominoes/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/etl/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/hamming/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/hello-world/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/leap/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/luhn/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/minesweeper/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/pangram/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/phone-number/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/prime-factors/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/raindrops/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/roman-numerals/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/run-length-encoding/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/say/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/space-age/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/triangle/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/templates/word-count/template.ml +1 -1
- data/tracks/ocaml/tools/test-generator/test/all_tests.ml +1 -1
- data/tracks/ocaml/tools/test-generator/test/codegen_test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/test/model_test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/test/parser_test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/test/special_cases_test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/test/template_test.ml +1 -1
- data/tracks/ocaml/tools/test-generator/test/utils_test.ml +1 -1
- data/tracks/r/.travis.yml +13 -2
- data/tracks/r/README.md +35 -16
- data/tracks/r/bin/run_lints.R +30 -0
- data/tracks/r/bin/run_tests.R +35 -0
- data/tracks/r/exercises/anagram/anagram.R +1 -1
- data/tracks/r/exercises/anagram/example.R +5 -5
- data/tracks/r/exercises/anagram/test_anagram.R +1 -15
- data/tracks/r/exercises/bob/bob.R +1 -1
- data/tracks/r/exercises/bob/example.R +2 -2
- data/tracks/r/exercises/bob/test_bob.R +1 -13
- data/tracks/r/exercises/difference-of-squares/example.R +5 -5
- data/tracks/r/exercises/difference-of-squares/test_difference-of-squares.R +2 -0
- data/tracks/r/exercises/grains/example.R +6 -6
- data/tracks/r/exercises/grains/grains.R +2 -2
- data/tracks/r/exercises/grains/test_grains.R +1 -2
- data/tracks/r/exercises/hamming/example.R +3 -3
- data/tracks/r/exercises/hamming/hamming.R +1 -1
- data/tracks/r/exercises/hamming/test_hamming.R +1 -1
- data/tracks/r/exercises/hello-world/example.R +1 -1
- data/tracks/r/exercises/hello-world/test_hello-world.R +1 -1
- data/tracks/r/exercises/isogram/example.R +4 -4
- data/tracks/r/exercises/isogram/isogram.R +1 -1
- data/tracks/r/exercises/isogram/test_isogram.R +1 -1
- data/tracks/r/exercises/largest-series-product/example.R +11 -11
- data/tracks/r/exercises/largest-series-product/largest-series-product.R +2 -2
- data/tracks/r/exercises/largest-series-product/test_largest-series-product.R +16 -16
- data/tracks/r/exercises/leap/leap.R +1 -1
- data/tracks/r/exercises/leap/test_leap.R +1 -1
- data/tracks/r/exercises/luhn/example.R +16 -10
- data/tracks/r/exercises/luhn/test_luhn.R +1 -1
- data/tracks/r/exercises/pascals-triangle/example.R +10 -10
- data/tracks/r/exercises/pascals-triangle/pascals-triangle.R +2 -2
- data/tracks/r/exercises/pascals-triangle/test_pascals-triangle.R +8 -8
- data/tracks/r/exercises/perfect-numbers/example.R +3 -3
- data/tracks/r/exercises/perfect-numbers/perfect-numbers.R +1 -1
- data/tracks/r/exercises/perfect-numbers/test_perfect-numbers.R +12 -12
- data/tracks/r/exercises/phone-number/example.R +8 -8
- data/tracks/r/exercises/phone-number/phone-number.R +1 -1
- data/tracks/r/exercises/phone-number/test_phone-number.R +11 -11
- data/tracks/r/exercises/prime-factors/example.R +2 -2
- data/tracks/r/exercises/prime-factors/prime-factors.R +1 -1
- data/tracks/r/exercises/prime-factors/test_prime-factors.R +1 -1
- data/tracks/r/exercises/raindrops/example.R +12 -11
- data/tracks/r/exercises/raindrops/test_raindrops.R +3 -2
- data/tracks/r/exercises/rna-transcription/example.R +3 -3
- data/tracks/r/exercises/rna-transcription/test_rna-transcription.R +1 -1
- data/tracks/r/exercises/rotational-cipher/example.R +7 -7
- data/tracks/r/exercises/rotational-cipher/test_rotational-cipher.R +3 -2
- data/tracks/r/exercises/scrabble-score/example.R +5 -4
- data/tracks/r/exercises/scrabble-score/scrabble-score.R +1 -1
- data/tracks/r/exercises/scrabble-score/test_scrabble-score.R +12 -12
- data/tracks/r/exercises/secret-handshake/example.R +6 -6
- data/tracks/r/exercises/secret-handshake/test_secret-handshake.R +5 -3
- data/tracks/r/exercises/sieve/test_sieve.R +1 -1
- data/tracks/r/exercises/space-age/example.R +8 -3
- data/tracks/r/exercises/space-age/space-age.R +1 -1
- data/tracks/r/exercises/space-age/test_space-age.R +1 -1
- data/tracks/r/exercises/sum-of-multiples/test_sum-of-multiples.R +1 -1
- data/tracks/r/exercises/tournament/example.R +14 -8
- data/tracks/r/exercises/tournament/test_tournament.R +1 -1
- data/tracks/r/exercises/word-count/example.R +9 -2
- data/tracks/r/exercises/word-count/test_word-count.R +1 -1
- data/tracks/r/exercises/word-count/word-count.R +1 -1
- data/tracks/vimscript/README.md +14 -9
- metadata +4 -2
@@ -1,4 +1,4 @@
|
|
1
|
-
open Core
|
1
|
+
open Core
|
2
2
|
open Utils
|
3
3
|
open Yojson.Basic
|
4
4
|
open Yojson.Basic.Util
|
@@ -9,9 +9,9 @@ type error =
|
|
9
9
|
NoDescription | BadDescription | NoExpected of string | BadExpected | UnrecognizedJson [@@deriving eq, show]
|
10
10
|
|
11
11
|
let parse_case_assoc (parameters: (string * json) list) (expected_key: string): (case, error) Result.t =
|
12
|
-
let find name e = List.Assoc.find parameters name |> Result.of_option ~error:e in
|
13
|
-
let test_parameters = List.Assoc.remove parameters "description" in
|
14
|
-
let test_parameters = List.Assoc.remove test_parameters expected_key in
|
12
|
+
let find name e = List.Assoc.find parameters ~equal:String.equal name |> Result.of_option ~error:e in
|
13
|
+
let test_parameters = List.Assoc.remove parameters ~equal:String.equal "description" in
|
14
|
+
let test_parameters = List.Assoc.remove test_parameters ~equal:String.equal expected_key in
|
15
15
|
let open Result.Monad_infix in
|
16
16
|
find "description" NoDescription >>=
|
17
17
|
to_string_note BadDescription >>= fun description ->
|
@@ -37,7 +37,7 @@ let parse_single (text: string) (expected_key: string) (cases_key: string): (tes
|
|
37
37
|
let rec to_cases case: (case list, error) Result.t =
|
38
38
|
let open Result.Monad_infix in
|
39
39
|
find_note case "description" NoDescription >>= to_string_note BadDescription >>= fun desc ->
|
40
|
-
let cases = List.Assoc.find case "cases" in
|
40
|
+
let cases = List.Assoc.find case ~equal:String.equal "cases" in
|
41
41
|
match cases with
|
42
42
|
| Some cases -> to_list_note UnrecognizedJson cases >>= fun cases ->
|
43
43
|
List.map cases ~f:(to_assoc_note UnrecognizedJson) |> sequence >>= fun x ->
|
@@ -1,4 +1,4 @@
|
|
1
|
-
open Core
|
1
|
+
open Core
|
2
2
|
open Yojson.Basic
|
3
3
|
open Yojson.Basic.Util
|
4
4
|
|
@@ -43,7 +43,7 @@ let member_note error m json =
|
|
43
43
|
try Ok (member m json) with Type_error _ -> Error error
|
44
44
|
|
45
45
|
let find_note (xs: ('a, 'b) List.Assoc.t) (key: 'a) (error: 'e): ('b, 'e) Result.t =
|
46
|
-
match List.Assoc.find xs key with
|
46
|
+
match List.Assoc.find ~equal:(=) xs key with
|
47
47
|
| Some v -> Ok v
|
48
48
|
| None -> Error error
|
49
49
|
|