trackler 2.0.6.33 → 2.0.6.34
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/beer-song/inputdata.txt +7 -0
- data/tracks/delphi/exercises/beer-song/uBeerSongExample.pas +12 -12
- data/tracks/delphi/exercises/beer-song/uBeerSongTests.pas +74 -59
- data/tracks/elixir/exercises/grains/example.exs +3 -2
- data/tracks/elixir/exercises/grains/grains_test.exs +24 -8
- data/tracks/go/exercises/binary-search/binary_search_test.go +8 -0
- data/tracks/go/exercises/binary-search/example.go +2 -0
- data/tracks/go/exercises/binary/binary_test.go +5 -2
- data/tracks/go/exercises/variable-length-quantity/example.go +2 -0
- data/tracks/go/exercises/variable-length-quantity/variable_length_quantity_test.go +8 -0
- data/tracks/go/exercises/word-count/word_count_test.go +4 -1
- data/tracks/julia/config.json +26 -0
- data/tracks/julia/exercises/gigasecond/example.jl +1 -0
- data/tracks/julia/exercises/gigasecond/gigasecond.jl +3 -0
- data/tracks/julia/exercises/gigasecond/runtests.jl +15 -0
- data/tracks/julia/exercises/roman-numerals/example.jl +21 -0
- data/tracks/julia/exercises/roman-numerals/roman-numerals.jl +3 -0
- data/tracks/julia/exercises/roman-numerals/runtests.jl +37 -0
- data/tracks/julia/exercises/transpose/example.jl +20 -0
- data/tracks/julia/exercises/transpose/runtests.jl +212 -0
- data/tracks/julia/exercises/transpose/transpose.jl +3 -0
- data/tracks/kotlin/.travis.yml +5 -2
- data/tracks/kotlin/bin/{build.sh → unit-tests.sh} +8 -6
- data/tracks/kotlin/exercises/_template/build.gradle +6 -0
- data/tracks/kotlin/exercises/accumulate/build.gradle +6 -0
- data/tracks/kotlin/exercises/accumulate/src/test/kotlin/AccumulateTest.kt +7 -0
- data/tracks/kotlin/exercises/acronym/build.gradle +6 -0
- data/tracks/kotlin/exercises/acronym/src/test/kotlin/AcronymTest.kt +7 -0
- data/tracks/kotlin/exercises/allergies/build.gradle +6 -0
- data/tracks/kotlin/exercises/allergies/src/test/kotlin/AllergiesTest.kt +20 -0
- data/tracks/kotlin/exercises/anagram/build.gradle +6 -0
- data/tracks/kotlin/exercises/anagram/src/test/kotlin/AnagramTest.kt +11 -0
- data/tracks/kotlin/exercises/atbash-cipher/build.gradle +6 -0
- data/tracks/kotlin/exercises/atbash-cipher/src/test/kotlin/AtbashTest.kt +3 -0
- data/tracks/kotlin/exercises/beer-song/build.gradle +6 -0
- data/tracks/kotlin/exercises/beer-song/src/test/kotlin/BeerSongTest.kt +13 -0
- data/tracks/kotlin/exercises/binary-search/build.gradle +6 -0
- data/tracks/kotlin/exercises/binary-search/src/test/kotlin/BinarySearchTest.kt +9 -0
- data/tracks/kotlin/exercises/binary/build.gradle +6 -0
- data/tracks/kotlin/exercises/binary/src/test/kotlin/BinaryTest.kt +2 -0
- data/tracks/kotlin/exercises/bob/build.gradle +6 -0
- data/tracks/kotlin/exercises/bob/src/test/kotlin/BobTest.kt +19 -0
- data/tracks/kotlin/exercises/bracket-push/build.gradle +6 -0
- data/tracks/kotlin/exercises/bracket-push/src/test/kotlin/BracketPushTest.kt +2 -0
- data/tracks/kotlin/exercises/build.gradle +17 -1
- data/tracks/kotlin/exercises/change/build.gradle +6 -0
- data/tracks/kotlin/exercises/change/src/test/kotlin/ChangeTest.kt +9 -0
- data/tracks/kotlin/exercises/difference-of-squares/build.gradle +6 -0
- data/tracks/kotlin/exercises/difference-of-squares/src/test/kotlin/SquaresTest.kt +13 -1
- data/tracks/kotlin/exercises/etl/build.gradle +6 -0
- data/tracks/kotlin/exercises/etl/src/test/kotlin/ETLTest.kt +5 -0
- data/tracks/kotlin/exercises/flatten-array/build.gradle +6 -0
- data/tracks/kotlin/exercises/flatten-array/src/test/kotlin/FlattenerTest.kt +9 -1
- data/tracks/kotlin/exercises/gigasecond/build.gradle +6 -0
- data/tracks/kotlin/exercises/gigasecond/src/test/kotlin/GigasecondTest.kt +6 -0
- data/tracks/kotlin/exercises/grade-school/build.gradle +6 -0
- data/tracks/kotlin/exercises/grade-school/src/test/kotlin/SchoolTest.kt +8 -0
- data/tracks/kotlin/exercises/hamming/build.gradle +6 -0
- data/tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt +10 -0
- data/tracks/kotlin/exercises/hello-world/build.gradle +6 -0
- data/tracks/kotlin/exercises/hello-world/src/test/kotlin/HelloWorldTest.kt +6 -0
- data/tracks/kotlin/exercises/hexadecimal/build.gradle +6 -0
- data/tracks/kotlin/exercises/hexadecimal/src/test/kotlin/HexadecimalTest.kt +2 -0
- data/tracks/kotlin/exercises/isogram/build.gradle +6 -0
- data/tracks/kotlin/exercises/isogram/src/test/kotlin/IsogramTest.kt +2 -0
- data/tracks/kotlin/exercises/largest-series-product/build.gradle +6 -0
- data/tracks/kotlin/exercises/largest-series-product/src/test/kotlin/SeriesInvalidInputTest.kt +5 -0
- data/tracks/kotlin/exercises/largest-series-product/src/test/kotlin/SeriesValidInputTest.kt +2 -0
- data/tracks/kotlin/exercises/leap/build.gradle +6 -0
- data/tracks/kotlin/exercises/leap/src/test/kotlin/LeapTest.kt +8 -0
- data/tracks/kotlin/exercises/linked-list/build.gradle +6 -0
- data/tracks/kotlin/exercises/linked-list/src/test/kotlin/DequeTest.kt +6 -0
- data/tracks/kotlin/exercises/luhn/build.gradle +6 -0
- data/tracks/kotlin/exercises/luhn/src/test/kotlin/LuhnTest.kt +11 -0
- data/tracks/kotlin/exercises/nth-prime/build.gradle +6 -0
- data/tracks/kotlin/exercises/nth-prime/src/test/kotlin/PrimeTest.kt +6 -0
- data/tracks/kotlin/exercises/nucleotide-count/build.gradle +6 -0
- data/tracks/kotlin/exercises/nucleotide-count/src/test/kotlin/NucleotideTest.kt +12 -1
- data/tracks/kotlin/exercises/pangram/build.gradle +6 -0
- data/tracks/kotlin/exercises/pangram/src/test/kotlin/PangramTest.kt +11 -0
- data/tracks/kotlin/exercises/pascals-triangle/build.gradle +6 -0
- data/tracks/kotlin/exercises/pascals-triangle/src/test/kotlin/PascalsTriangleTest.kt +5 -0
- data/tracks/kotlin/exercises/phone-number/build.gradle +6 -0
- data/tracks/kotlin/exercises/phone-number/src/test/kotlin/PhoneNumberTest.kt +9 -0
- data/tracks/kotlin/exercises/pig-latin/build.gradle +6 -0
- data/tracks/kotlin/exercises/pig-latin/src/test/kotlin/PigLatinTest.kt +2 -0
- data/tracks/kotlin/exercises/raindrops/build.gradle +6 -0
- data/tracks/kotlin/exercises/raindrops/src/test/kotlin/RaindropsTest.kt +2 -0
- data/tracks/kotlin/exercises/rna-transcription/build.gradle +6 -0
- data/tracks/kotlin/exercises/rna-transcription/src/test/kotlin/RnaTranscriptionTest.kt +8 -1
- data/tracks/kotlin/exercises/robot-name/build.gradle +6 -0
- data/tracks/kotlin/exercises/robot-name/src/test/kotlin/RobotTest.kt +4 -0
- data/tracks/kotlin/exercises/roman-numerals/build.gradle +6 -0
- data/tracks/kotlin/exercises/roman-numerals/src/test/kotlin/RomanNumeralTest.kt +2 -0
- data/tracks/kotlin/exercises/scrabble-score/build.gradle +6 -0
- data/tracks/kotlin/exercises/scrabble-score/src/test/kotlin/ScrabbleScoreTest.kt +2 -0
- data/tracks/kotlin/exercises/series/build.gradle +6 -0
- data/tracks/kotlin/exercises/series/src/test/kotlin/SeriesTest.kt +4 -0
- data/tracks/kotlin/exercises/sieve/build.gradle +6 -0
- data/tracks/kotlin/exercises/sieve/src/test/kotlin/SieveTest.kt +4 -0
- data/tracks/kotlin/exercises/simple-cipher/build.gradle +6 -0
- data/tracks/kotlin/exercises/simple-cipher/src/test/kotlin/IncorrectKeyCipherTest.kt +6 -0
- data/tracks/kotlin/exercises/simple-cipher/src/test/kotlin/RandomKeyCipherTest.kt +7 -0
- data/tracks/kotlin/exercises/simple-cipher/src/test/kotlin/SubstitutionCipherTest.kt +9 -0
- data/tracks/kotlin/exercises/space-age/build.gradle +6 -0
- data/tracks/kotlin/exercises/space-age/src/test/kotlin/SpaceAgeTest.kt +10 -0
- data/tracks/kotlin/exercises/strain/build.gradle +6 -0
- data/tracks/kotlin/exercises/strain/src/test/kotlin/StrainTest.kt +13 -0
- data/tracks/kotlin/exercises/word-count/build.gradle +6 -0
- data/tracks/kotlin/exercises/word-count/src/test/kotlin/WordCountTest.kt +8 -0
- data/tracks/objective-c/circle.yml +1 -1
- data/tracks/perl6/.travis.yml +2 -2
- data/tracks/perl6/config.json +5 -0
- data/tracks/perl6/docs/TESTS.md +78 -18
- data/tracks/perl6/exercises/allergies/{Example.p6 → Example.pm} +0 -0
- data/tracks/perl6/exercises/allergies/allergies.t +2 -7
- data/tracks/perl6/exercises/atbash-cipher/{Example.p6 → Example.pm} +0 -0
- data/tracks/perl6/exercises/atbash-cipher/cipher.t +2 -7
- data/tracks/perl6/exercises/linked-list/Example.pm6 +51 -0
- data/tracks/perl6/exercises/linked-list/linked-list.t +91 -0
- data/tracks/perl6/exercises/space-age/{Example.p6 → Example.pm} +0 -0
- data/tracks/perl6/exercises/space-age/space-age.t +2 -7
- data/tracks/perl6/exercises/trinary/{Example.p6 → Example.pm} +0 -0
- data/tracks/perl6/exercises/trinary/trinary.t +2 -7
- data/tracks/perl6/exercises/wordy/{Example.p6 → Example.pm} +0 -0
- data/tracks/perl6/exercises/wordy/wordy.t +2 -7
- data/tracks/pony/README.md +4 -27
- data/tracks/pony/config.json +16 -0
- data/tracks/pony/exercises/atbash-cipher/example.pony +40 -0
- data/tracks/pony/exercises/atbash-cipher/test.pony +67 -0
- data/tracks/pony/exercises/beer-song/example.pony +44 -0
- data/tracks/pony/exercises/beer-song/test.pony +27 -0
- data/tracks/pony/exercises/rna-transcription/test.pony +1 -1
- data/tracks/prolog/docs/INSTALLATION.md +1 -1
- data/tracks/prolog/docs/TESTS.md +2 -2
- metadata +24 -8
@@ -0,0 +1 @@
|
|
1
|
+
add_gigasecond(date::DateTime) = date + Dates.Second(10^9)
|
@@ -0,0 +1,15 @@
|
|
1
|
+
using Base.Test
|
2
|
+
|
3
|
+
include("gigasecond.jl")
|
4
|
+
|
5
|
+
samples = Dict(
|
6
|
+
DateTime("2011-04-25") => DateTime("2043-01-01T01:46:40"),
|
7
|
+
DateTime("1977-06-13") => DateTime("2009-02-19T01:46:40"),
|
8
|
+
DateTime("1959-07-19") => DateTime("1991-03-27T01:46:40"),
|
9
|
+
DateTime("2015-01-24T22:00:00") => DateTime("2046-10-02T23:46:40"),
|
10
|
+
DateTime("2015-01-24T23:59:59") => DateTime("2046-10-03T01:46:39")
|
11
|
+
)
|
12
|
+
|
13
|
+
@testset "add gigasecond to $sample[1]" for sample in samples
|
14
|
+
@test add_gigasecond(sample[1]) == sample[2]
|
15
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Aliases: I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000.
|
2
|
+
function to_roman(number::Integer)
|
3
|
+
number < 1 && error("Invalid number")
|
4
|
+
alias = [
|
5
|
+
["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"],
|
6
|
+
["X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"],
|
7
|
+
["C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"],
|
8
|
+
["M", "MM", "MMM"],
|
9
|
+
]
|
10
|
+
i = 1
|
11
|
+
result = []
|
12
|
+
while number > 0
|
13
|
+
j = rem(number, 10)
|
14
|
+
if j > 0
|
15
|
+
push!(result, alias[i][j])
|
16
|
+
end
|
17
|
+
i += 1
|
18
|
+
number = div(number, 10)
|
19
|
+
end
|
20
|
+
join(reverse(result))
|
21
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
using Base.Test
|
2
|
+
|
3
|
+
include("roman-numerals.jl")
|
4
|
+
|
5
|
+
# HINT: There is no need to be able to convert numbers larger than about 3000.
|
6
|
+
samples = Dict(
|
7
|
+
1 => "I",
|
8
|
+
2 => "II",
|
9
|
+
3 => "III",
|
10
|
+
4 => "IV",
|
11
|
+
5 => "V",
|
12
|
+
6 => "VI",
|
13
|
+
9 => "IX",
|
14
|
+
27 => "XXVII",
|
15
|
+
48 => "XLVIII",
|
16
|
+
59 => "LIX",
|
17
|
+
93 => "XCIII",
|
18
|
+
141 => "CXLI",
|
19
|
+
163 => "CLXIII",
|
20
|
+
402 => "CDII",
|
21
|
+
575 => "DLXXV",
|
22
|
+
911 => "CMXI",
|
23
|
+
1024 => "MXXIV",
|
24
|
+
1703 => "MDCCIII",
|
25
|
+
1991 => "MCMXCI",
|
26
|
+
2017 => "MMXVII",
|
27
|
+
3000 => "MMM"
|
28
|
+
)
|
29
|
+
|
30
|
+
@testset "convert $sample[1] to roman numeral" for sample in samples
|
31
|
+
@test to_roman(sample[1]) == sample[2]
|
32
|
+
end
|
33
|
+
|
34
|
+
@testset "error handling" begin
|
35
|
+
@test_throws ErrorException to_roman(0)
|
36
|
+
@test_throws ErrorException to_roman(-2017)
|
37
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
function transpose_strings(input::AbstractArray)
|
2
|
+
cols = length(input)
|
3
|
+
cols == 0 && return []
|
4
|
+
rows = maximum(map(x->length(x), input))
|
5
|
+
result = fill("", rows)
|
6
|
+
for i = 1:rows
|
7
|
+
for j = 1:cols
|
8
|
+
sym = ""
|
9
|
+
if i <= length(input[j])
|
10
|
+
delta = j-length(result[i])-1
|
11
|
+
if delta > 0
|
12
|
+
sym = " " ^ delta
|
13
|
+
end
|
14
|
+
sym = sym * string(input[j][i])
|
15
|
+
end
|
16
|
+
result[i] = result[i] * sym
|
17
|
+
end
|
18
|
+
end
|
19
|
+
result
|
20
|
+
end
|
@@ -0,0 +1,212 @@
|
|
1
|
+
using Base.Test
|
2
|
+
|
3
|
+
include("transpose.jl")
|
4
|
+
|
5
|
+
@testset "empty string" begin
|
6
|
+
@test transpose_strings([]) == []
|
7
|
+
end
|
8
|
+
|
9
|
+
@testset "two characters in a row" begin
|
10
|
+
@test transpose_strings(["A1"]) == ["A", "1"]
|
11
|
+
end
|
12
|
+
|
13
|
+
@testset "two characters in a column" begin
|
14
|
+
@test transpose_strings(["A", "1"]) == ["A1"]
|
15
|
+
end
|
16
|
+
|
17
|
+
@testset "simple" begin
|
18
|
+
@test transpose_strings(["ABC", "123"]) == [
|
19
|
+
"A1",
|
20
|
+
"B2",
|
21
|
+
"C3"
|
22
|
+
]
|
23
|
+
end
|
24
|
+
|
25
|
+
@testset "single line" begin
|
26
|
+
@test transpose_strings(["Single line."]) == [
|
27
|
+
"S",
|
28
|
+
"i",
|
29
|
+
"n",
|
30
|
+
"g",
|
31
|
+
"l",
|
32
|
+
"e",
|
33
|
+
" ",
|
34
|
+
"l",
|
35
|
+
"i",
|
36
|
+
"n",
|
37
|
+
"e",
|
38
|
+
"."
|
39
|
+
]
|
40
|
+
end
|
41
|
+
|
42
|
+
@testset "first line longer than second line" begin
|
43
|
+
@test transpose_strings([
|
44
|
+
"The fourth line.",
|
45
|
+
"The fifth line."
|
46
|
+
]) == [
|
47
|
+
"TT",
|
48
|
+
"hh",
|
49
|
+
"ee",
|
50
|
+
" ",
|
51
|
+
"ff",
|
52
|
+
"oi",
|
53
|
+
"uf",
|
54
|
+
"rt",
|
55
|
+
"th",
|
56
|
+
"h ",
|
57
|
+
" l",
|
58
|
+
"li",
|
59
|
+
"in",
|
60
|
+
"ne",
|
61
|
+
"e.",
|
62
|
+
"."
|
63
|
+
]
|
64
|
+
end
|
65
|
+
|
66
|
+
@testset "second line longer than first line" begin
|
67
|
+
@test transpose_strings([
|
68
|
+
"The first line.",
|
69
|
+
"The second line."
|
70
|
+
]) == [
|
71
|
+
"TT",
|
72
|
+
"hh",
|
73
|
+
"ee",
|
74
|
+
" ",
|
75
|
+
"fs",
|
76
|
+
"ie",
|
77
|
+
"rc",
|
78
|
+
"so",
|
79
|
+
"tn",
|
80
|
+
" d",
|
81
|
+
"l ",
|
82
|
+
"il",
|
83
|
+
"ni",
|
84
|
+
"en",
|
85
|
+
".e",
|
86
|
+
" ."
|
87
|
+
]
|
88
|
+
end
|
89
|
+
|
90
|
+
@testset "square" begin
|
91
|
+
@test transpose_strings([
|
92
|
+
"HEART",
|
93
|
+
"EMBER",
|
94
|
+
"ABUSE",
|
95
|
+
"RESIN",
|
96
|
+
"TREND"
|
97
|
+
]) == [
|
98
|
+
"HEART",
|
99
|
+
"EMBER",
|
100
|
+
"ABUSE",
|
101
|
+
"RESIN",
|
102
|
+
"TREND"
|
103
|
+
]
|
104
|
+
end
|
105
|
+
|
106
|
+
@testset "rectangle" begin
|
107
|
+
@test transpose_strings([
|
108
|
+
"FRACTURE",
|
109
|
+
"OUTLINED",
|
110
|
+
"BLOOMING",
|
111
|
+
"SEPTETTE"
|
112
|
+
]) == [
|
113
|
+
"FOBS",
|
114
|
+
"RULE",
|
115
|
+
"ATOP",
|
116
|
+
"CLOT",
|
117
|
+
"TIME",
|
118
|
+
"UNIT",
|
119
|
+
"RENT",
|
120
|
+
"EDGE"
|
121
|
+
]
|
122
|
+
end
|
123
|
+
|
124
|
+
@testset "triangle" begin
|
125
|
+
@test transpose_strings([
|
126
|
+
"T",
|
127
|
+
"EE",
|
128
|
+
"AAA",
|
129
|
+
"SSSS",
|
130
|
+
"EEEEE",
|
131
|
+
"RRRRRR"
|
132
|
+
]) == [
|
133
|
+
"TEASER",
|
134
|
+
" EASER",
|
135
|
+
" ASER",
|
136
|
+
" SER",
|
137
|
+
" ER",
|
138
|
+
" R"
|
139
|
+
]
|
140
|
+
end
|
141
|
+
|
142
|
+
@testset "many lines" begin
|
143
|
+
@test transpose_strings([
|
144
|
+
"Chor. Two households, both alike in dignity,",
|
145
|
+
"In fair Verona, where we lay our scene,",
|
146
|
+
"From ancient grudge break to new mutiny,",
|
147
|
+
"Where civil blood makes civil hands unclean.",
|
148
|
+
"From forth the fatal loins of these two foes",
|
149
|
+
"A pair of star-cross'd lovers take their life;",
|
150
|
+
"Whose misadventur'd piteous overthrows",
|
151
|
+
"Doth with their death bury their parents' strife.",
|
152
|
+
"The fearful passage of their death-mark'd love,",
|
153
|
+
"And the continuance of their parents' rage,",
|
154
|
+
"Which, but their children's end, naught could remove,",
|
155
|
+
"Is now the two hours' traffic of our stage;",
|
156
|
+
"The which if you with patient ears attend,",
|
157
|
+
"What here shall miss, our toil shall strive to mend."
|
158
|
+
]) == [
|
159
|
+
"CIFWFAWDTAWITW",
|
160
|
+
"hnrhr hohnhshh",
|
161
|
+
"o oeopotedi ea",
|
162
|
+
"rfmrmash cn t",
|
163
|
+
".a e ie fthow ",
|
164
|
+
" ia fr weh,whh",
|
165
|
+
"Trnco miae ie",
|
166
|
+
"w ciroitr btcr",
|
167
|
+
"oVivtfshfcuhhe",
|
168
|
+
" eeih a uote ",
|
169
|
+
"hrnl sdtln is",
|
170
|
+
"oot ttvh tttfh",
|
171
|
+
"un bhaeepihw a",
|
172
|
+
"saglernianeoyl",
|
173
|
+
"e,ro -trsui ol",
|
174
|
+
"h uofcu sarhu ",
|
175
|
+
"owddarrdan o m",
|
176
|
+
"lhg to'egccuwi",
|
177
|
+
"deemasdaeehris",
|
178
|
+
"sr als t ists",
|
179
|
+
",ebk 'phool'h,",
|
180
|
+
" reldi ffd ",
|
181
|
+
"bweso tb rtpo",
|
182
|
+
"oea ileutterau",
|
183
|
+
"t kcnoorhhnatr",
|
184
|
+
"hl isvuyee'fi ",
|
185
|
+
" atv es iisfet",
|
186
|
+
"ayoior trr ino",
|
187
|
+
"l lfsoh ecti",
|
188
|
+
"ion vedpn l",
|
189
|
+
"kuehtteieadoe ",
|
190
|
+
"erwaharrar,fas",
|
191
|
+
" nekt te rh",
|
192
|
+
"ismdsehphnnosa",
|
193
|
+
"ncuse ra-tau l",
|
194
|
+
" et tormsural",
|
195
|
+
"dniuthwea'g t ",
|
196
|
+
"iennwesnr hsts",
|
197
|
+
"g,ycoi tkrttet",
|
198
|
+
"n ,l r s'a anr",
|
199
|
+
"i ef 'dgcgdi",
|
200
|
+
"t aol eoe,v",
|
201
|
+
"y nei sl,u; e",
|
202
|
+
", .sf to l ",
|
203
|
+
" e rv d t",
|
204
|
+
" ; ie o",
|
205
|
+
" f, r ",
|
206
|
+
" e e m",
|
207
|
+
" . m e",
|
208
|
+
" o n",
|
209
|
+
" v d",
|
210
|
+
" e .",
|
211
|
+
" ,"]
|
212
|
+
end
|
data/tracks/kotlin/.travis.yml
CHANGED
@@ -1,13 +1,15 @@
|
|
1
|
-
#!/bin/bash
|
1
|
+
#!/usr/bin/env bash
|
2
2
|
set -e
|
3
|
-
pushd exercises
|
4
3
|
gradle --version
|
5
|
-
echo ""
|
6
|
-
echo ">>> Running tests..."
|
7
|
-
TERM=dumb gradle test --continue
|
8
|
-
popd
|
9
4
|
|
10
5
|
echo ""
|
11
6
|
echo ">>> Running configlet..."
|
12
7
|
bin/fetch-configlet
|
13
8
|
bin/configlet .
|
9
|
+
|
10
|
+
pushd exercises
|
11
|
+
echo ""
|
12
|
+
echo ">>> Running tests..."
|
13
|
+
TERM=dumb gradle check compileStarterSourceKotlin --continue
|
14
|
+
popd
|
15
|
+
|
@@ -1,8 +1,10 @@
|
|
1
1
|
import org.junit.Test
|
2
|
+
import org.junit.Ignore
|
2
3
|
import kotlin.test.assertEquals
|
3
4
|
|
4
5
|
class AccumulateTest {
|
5
6
|
|
7
|
+
|
6
8
|
@Test
|
7
9
|
fun emptyAccumulateProducesEmptyAccumulation() {
|
8
10
|
val input = listOf<Int>()
|
@@ -10,6 +12,7 @@ class AccumulateTest {
|
|
10
12
|
assertEquals(expectedOutput, Accumulate.accumulate(input, { x -> x * x }))
|
11
13
|
}
|
12
14
|
|
15
|
+
@Ignore
|
13
16
|
@Test
|
14
17
|
fun accumulateSquares() {
|
15
18
|
val input = listOf(1, 2, 3)
|
@@ -17,6 +20,7 @@ class AccumulateTest {
|
|
17
20
|
assertEquals(expectedOutput, Accumulate.accumulate(input, { x -> x * x }))
|
18
21
|
}
|
19
22
|
|
23
|
+
@Ignore
|
20
24
|
@Test
|
21
25
|
fun accumulateUpperCases() {
|
22
26
|
val input = listOf("hello", "world")
|
@@ -24,6 +28,7 @@ class AccumulateTest {
|
|
24
28
|
assertEquals(expectedOutput, Accumulate.accumulate(input, { it.toUpperCase() }))
|
25
29
|
}
|
26
30
|
|
31
|
+
@Ignore
|
27
32
|
@Test
|
28
33
|
fun accumulateReversedStrings() {
|
29
34
|
val input = "the quick brown fox etc".split(" ")
|
@@ -31,6 +36,7 @@ class AccumulateTest {
|
|
31
36
|
assertEquals(expectedOutput, Accumulate.accumulate(input, { it.reversed() }))
|
32
37
|
}
|
33
38
|
|
39
|
+
@Ignore
|
34
40
|
@Test
|
35
41
|
fun accumulateWithinAccumulate() {
|
36
42
|
val input1 = listOf("a", "b", "c")
|
@@ -41,6 +47,7 @@ class AccumulateTest {
|
|
41
47
|
))
|
42
48
|
}
|
43
49
|
|
50
|
+
@Ignore
|
44
51
|
@Test
|
45
52
|
fun accumulateToDifferentType() {
|
46
53
|
val input = listOf(1, 2, 3)
|