trackler 2.1.0.29 → 2.1.0.30
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/common/exercises/twelve-days/description.md +1 -1
- data/lib/trackler/version.rb +1 -1
- data/tracks/delphi/SETUP.md +1 -1
- data/tracks/ecmascript/Makefile +4 -3
- data/tracks/ecmascript/config.json +0 -65
- data/tracks/ecmascript/exercises/accumulate/package.json +6 -0
- data/tracks/ecmascript/exercises/acronym/package.json +6 -0
- data/tracks/ecmascript/exercises/all-your-base/package.json +6 -0
- data/tracks/ecmascript/exercises/allergies/package.json +6 -0
- data/tracks/ecmascript/exercises/anagram/package.json +6 -0
- data/tracks/ecmascript/exercises/atbash-cipher/package.json +6 -0
- data/tracks/ecmascript/exercises/beer-song/package.json +6 -0
- data/tracks/ecmascript/exercises/binary-search-tree/package.json +6 -0
- data/tracks/ecmascript/exercises/binary-search/package.json +6 -0
- data/tracks/ecmascript/exercises/binary/package.json +6 -0
- data/tracks/ecmascript/exercises/bob/package.json +6 -0
- data/tracks/ecmascript/exercises/bracket-push/package.json +6 -0
- data/tracks/ecmascript/exercises/circular-buffer/circular-buffer.spec.js +11 -13
- data/tracks/ecmascript/exercises/circular-buffer/example.js +15 -14
- data/tracks/ecmascript/exercises/circular-buffer/package.json +6 -0
- data/tracks/ecmascript/exercises/clock/package.json +6 -0
- data/tracks/ecmascript/exercises/connect/package.json +6 -0
- data/tracks/ecmascript/exercises/crypto-square/package.json +6 -0
- data/tracks/ecmascript/exercises/custom-set/package.json +6 -0
- data/tracks/ecmascript/exercises/diamond/package.json +6 -0
- data/tracks/ecmascript/exercises/difference-of-squares/package.json +6 -0
- data/tracks/ecmascript/exercises/etl/package.json +6 -0
- data/tracks/ecmascript/exercises/food-chain/package.json +6 -0
- data/tracks/ecmascript/exercises/gigasecond/package.json +6 -0
- data/tracks/ecmascript/exercises/grade-school/package.json +6 -0
- data/tracks/ecmascript/exercises/grains/package.json +6 -0
- data/tracks/ecmascript/exercises/hamming/package.json +6 -0
- data/tracks/ecmascript/exercises/hello-world/package.json +6 -0
- data/tracks/ecmascript/exercises/hexadecimal/package.json +6 -0
- data/tracks/ecmascript/exercises/isogram/package.json +6 -0
- data/tracks/ecmascript/exercises/kindergarten-garden/package.json +6 -0
- data/tracks/ecmascript/exercises/largest-series-product/package.json +6 -0
- data/tracks/ecmascript/exercises/leap/package.json +6 -0
- data/tracks/ecmascript/exercises/linked-list/package.json +6 -0
- data/tracks/ecmascript/exercises/luhn/package.json +6 -0
- data/tracks/ecmascript/exercises/matrix/package.json +6 -0
- data/tracks/ecmascript/exercises/meetup/package.json +6 -0
- data/tracks/ecmascript/exercises/nth-prime/package.json +6 -0
- data/tracks/ecmascript/exercises/ocr-numbers/package.json +6 -0
- data/tracks/ecmascript/exercises/octal/package.json +6 -0
- data/tracks/ecmascript/exercises/package.json +11 -0
- data/tracks/ecmascript/exercises/palindrome-products/package.json +6 -0
- data/tracks/ecmascript/exercises/pangram/package.json +6 -0
- data/tracks/ecmascript/exercises/pascals-triangle/package.json +6 -0
- data/tracks/ecmascript/exercises/perfect-numbers/package.json +6 -0
- data/tracks/ecmascript/exercises/phone-number/package.json +6 -0
- data/tracks/ecmascript/exercises/pig-latin/package.json +6 -0
- data/tracks/ecmascript/exercises/prime-factors/package.json +6 -0
- data/tracks/ecmascript/exercises/pythagorean-triplet/package.json +6 -0
- data/tracks/ecmascript/exercises/queen-attack/package.json +6 -0
- data/tracks/ecmascript/exercises/raindrops/package.json +6 -0
- data/tracks/ecmascript/exercises/rna-transcription/package.json +6 -0
- data/tracks/ecmascript/exercises/robot-name/package.json +6 -0
- data/tracks/ecmascript/exercises/robot-simulator/package.json +6 -0
- data/tracks/ecmascript/exercises/roman-numerals/package.json +6 -0
- data/tracks/ecmascript/exercises/saddle-points/package.json +6 -0
- data/tracks/ecmascript/exercises/say/package.json +6 -0
- data/tracks/ecmascript/exercises/scrabble-score/package.json +6 -0
- data/tracks/ecmascript/exercises/secret-handshake/package.json +6 -0
- data/tracks/ecmascript/exercises/series/package.json +6 -0
- data/tracks/ecmascript/exercises/sieve/package.json +6 -0
- data/tracks/ecmascript/exercises/simple-cipher/package.json +6 -0
- data/tracks/ecmascript/exercises/space-age/package.json +6 -0
- data/tracks/ecmascript/exercises/strain/package.json +6 -0
- data/tracks/ecmascript/exercises/sum-of-multiples/package.json +6 -0
- data/tracks/ecmascript/exercises/triangle/package.json +6 -0
- data/tracks/ecmascript/exercises/trinary/package.json +6 -0
- data/tracks/ecmascript/exercises/two-bucket/package.json +6 -0
- data/tracks/ecmascript/exercises/word-count/package.json +6 -0
- data/tracks/ecmascript/exercises/wordy/package.json +6 -0
- data/tracks/ecmascript/package.json +6 -0
- data/tracks/ecmascript/yarn.lock +9 -2
- data/tracks/go/README.md +3 -4
- data/tracks/haskell/README.md +1 -1
- data/tracks/java/.gitignore +0 -1
- data/tracks/java/.travis.yml +15 -1
- data/tracks/java/bin/journey-test.sh +3 -4
- data/tracks/java/bin/unit-tests.sh +2 -2
- data/tracks/java/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/tracks/java/gradle/wrapper/gradle-wrapper.properties +6 -0
- data/tracks/java/gradlew +172 -0
- data/tracks/java/gradlew.bat +84 -0
- data/tracks/javascript/config.json +0 -74
- data/tracks/javascript/exercises/isogram/isogram.spec.js +6 -0
- data/tracks/php/config.json +5 -0
- data/tracks/php/exercises/prime-factors/example.php +13 -0
- data/tracks/php/exercises/prime-factors/prime-factors_test.php +46 -0
- data/tracks/ruby/exercises/isogram/.meta/.version +1 -1
- data/tracks/ruby/exercises/isogram/.meta/generator/isogram_case.rb +15 -1
- data/tracks/ruby/exercises/isogram/isogram_test.rb +10 -10
- data/tracks/ruby/exercises/sum-of-multiples/.meta/.version +1 -0
- data/tracks/ruby/exercises/sum-of-multiples/.meta/generator/sum_of_multiples_case.rb +11 -0
- data/tracks/ruby/exercises/sum-of-multiples/.meta/solutions/sum_of_multiples.rb +4 -0
- data/tracks/ruby/exercises/sum-of-multiples/sum_of_multiples_test.rb +51 -12
- data/tracks/rust/exercises/forth/example.rs +2 -6
- data/tracks/rust/exercises/forth/tests/forth.rs +18 -18
- metadata +10 -2
@@ -7,55 +7,55 @@ class IsogramTest < Minitest::Test
|
|
7
7
|
def test_empty_string
|
8
8
|
# skip
|
9
9
|
string = ""
|
10
|
-
assert Isogram.
|
10
|
+
assert Isogram.isogram?(string), "Expected true, '' is an isogram"
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_isogram_with_only_lower_case_characters
|
14
14
|
skip
|
15
15
|
string = "isogram"
|
16
|
-
assert Isogram.
|
16
|
+
assert Isogram.isogram?(string), "Expected true, 'isogram' is an isogram"
|
17
17
|
end
|
18
18
|
|
19
19
|
def test_word_with_one_duplicated_character
|
20
20
|
skip
|
21
21
|
string = "eleven"
|
22
|
-
refute Isogram.
|
22
|
+
refute Isogram.isogram?(string), "Expected false, 'eleven' is not an isogram"
|
23
23
|
end
|
24
24
|
|
25
25
|
def test_longest_reported_english_isogram
|
26
26
|
skip
|
27
27
|
string = "subdermatoglyphic"
|
28
|
-
assert Isogram.
|
28
|
+
assert Isogram.isogram?(string), "Expected true, 'subdermatoglyphic' is an isogram"
|
29
29
|
end
|
30
30
|
|
31
31
|
def test_word_with_duplicated_character_in_mixed_case
|
32
32
|
skip
|
33
33
|
string = "Alphabet"
|
34
|
-
refute Isogram.
|
34
|
+
refute Isogram.isogram?(string), "Expected false, 'Alphabet' is not an isogram"
|
35
35
|
end
|
36
36
|
|
37
37
|
def test_hypothetical_isogrammic_word_with_hyphen
|
38
38
|
skip
|
39
39
|
string = "thumbscrew-japingly"
|
40
|
-
assert Isogram.
|
40
|
+
assert Isogram.isogram?(string), "Expected true, 'thumbscrew-japingly' is an isogram"
|
41
41
|
end
|
42
42
|
|
43
43
|
def test_isogram_with_duplicated_non_letter_character
|
44
44
|
skip
|
45
45
|
string = "Hjelmqvist-Gryb-Zock-Pfund-Wax"
|
46
|
-
assert Isogram.
|
46
|
+
assert Isogram.isogram?(string), "Expected true, 'Hjelmqvist-Gryb-Zock-Pfund-Wax' is an isogram"
|
47
47
|
end
|
48
48
|
|
49
49
|
def test_made_up_name_that_is_an_isogram
|
50
50
|
skip
|
51
51
|
string = "Emily Jung Schwartzkopf"
|
52
|
-
assert Isogram.
|
52
|
+
assert Isogram.isogram?(string), "Expected true, 'Emily Jung Schwartzkopf' is an isogram"
|
53
53
|
end
|
54
54
|
|
55
55
|
def test_duplicated_character_in_the_middle
|
56
56
|
skip
|
57
57
|
string = "accentor"
|
58
|
-
refute Isogram.
|
58
|
+
refute Isogram.isogram?(string), "Expected false, 'accentor' is not an isogram"
|
59
59
|
end
|
60
60
|
|
61
61
|
# Problems in exercism evolve over time, as we find better ways to ask
|
@@ -77,6 +77,6 @@ class IsogramTest < Minitest::Test
|
|
77
77
|
|
78
78
|
def test_bookkeeping
|
79
79
|
skip
|
80
|
-
assert_equal
|
80
|
+
assert_equal 4, BookKeeping::VERSION
|
81
81
|
end
|
82
82
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
1
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'generator/exercise_case'
|
2
|
+
|
3
|
+
class SumOfMultiplesCase < Generator::ExerciseCase
|
4
|
+
using Generator::Underscore
|
5
|
+
|
6
|
+
def workload
|
7
|
+
assert_expected = "assert_equal #{expected.underscore}"
|
8
|
+
value = "SumOfMultiples.new(#{factors.join(', ')}).to(#{limit})"
|
9
|
+
indent_lines(["#{assert_expected}, #{value}"], 4)
|
10
|
+
end
|
11
|
+
end
|
@@ -2,48 +2,87 @@
|
|
2
2
|
require 'minitest/autorun'
|
3
3
|
require_relative 'sum_of_multiples'
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
# Common test data version: 1.0.0 72b1496
|
6
|
+
class SumOfMultiplesTest < Minitest::Test
|
7
|
+
def test_multiples_of_3_or_5_up_to_1
|
8
|
+
# skip
|
7
9
|
assert_equal 0, SumOfMultiples.new(3, 5).to(1)
|
8
10
|
end
|
9
11
|
|
10
|
-
def
|
12
|
+
def test_multiples_of_3_or_5_up_to_4
|
11
13
|
skip
|
12
14
|
assert_equal 3, SumOfMultiples.new(3, 5).to(4)
|
13
15
|
end
|
14
16
|
|
15
|
-
def
|
17
|
+
def test_multiples_of_3_or_5_up_to_10
|
16
18
|
skip
|
17
19
|
assert_equal 23, SumOfMultiples.new(3, 5).to(10)
|
18
20
|
end
|
19
21
|
|
20
|
-
def
|
22
|
+
def test_multiples_of_3_or_5_up_to_100
|
21
23
|
skip
|
22
24
|
assert_equal 2_318, SumOfMultiples.new(3, 5).to(100)
|
23
25
|
end
|
24
26
|
|
25
|
-
def
|
27
|
+
def test_multiples_of_3_or_5_up_to_1000
|
26
28
|
skip
|
27
29
|
assert_equal 233_168, SumOfMultiples.new(3, 5).to(1000)
|
28
30
|
end
|
29
31
|
|
30
|
-
def
|
32
|
+
def test_multiples_of_7_13_or_17_up_to_20
|
31
33
|
skip
|
32
34
|
assert_equal 51, SumOfMultiples.new(7, 13, 17).to(20)
|
33
35
|
end
|
34
36
|
|
35
|
-
def
|
37
|
+
def test_multiples_of_4_or_6_up_to_15
|
36
38
|
skip
|
37
39
|
assert_equal 30, SumOfMultiples.new(4, 6).to(15)
|
38
40
|
end
|
39
41
|
|
40
|
-
def
|
42
|
+
def test_multiples_of_5_6_or_8_up_to_150
|
41
43
|
skip
|
42
|
-
assert_equal
|
44
|
+
assert_equal 4_419, SumOfMultiples.new(5, 6, 8).to(150)
|
43
45
|
end
|
44
46
|
|
45
|
-
def
|
47
|
+
def test_multiples_of_5_or_25_up_to_51
|
46
48
|
skip
|
47
|
-
assert_equal
|
49
|
+
assert_equal 275, SumOfMultiples.new(5, 25).to(51)
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_multiples_of_43_or_47_up_to_10000
|
53
|
+
skip
|
54
|
+
assert_equal 2_203_160, SumOfMultiples.new(43, 47).to(10000)
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_multiples_of_1_up_to_100
|
58
|
+
skip
|
59
|
+
assert_equal 4_950, SumOfMultiples.new(1).to(100)
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_multiples_of_an_empty_list_up_to_10000
|
63
|
+
skip
|
64
|
+
assert_equal 0, SumOfMultiples.new().to(10000)
|
65
|
+
end
|
66
|
+
|
67
|
+
# Problems in exercism evolve over time, as we find better ways to ask
|
68
|
+
# questions.
|
69
|
+
# The version number refers to the version of the problem you solved,
|
70
|
+
# not your solution.
|
71
|
+
#
|
72
|
+
# Define a constant named VERSION inside of the top level BookKeeping
|
73
|
+
# module, which may be placed near the end of your file.
|
74
|
+
#
|
75
|
+
# In your file, it will look like this:
|
76
|
+
#
|
77
|
+
# module BookKeeping
|
78
|
+
# VERSION = 1 # Where the version number matches the one in the test.
|
79
|
+
# end
|
80
|
+
#
|
81
|
+
# If you are curious, read more about constants on RubyDoc:
|
82
|
+
# http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
|
83
|
+
|
84
|
+
def test_bookkeeping
|
85
|
+
skip
|
86
|
+
assert_equal 1, BookKeeping::VERSION
|
48
87
|
end
|
49
88
|
end
|
@@ -58,12 +58,8 @@ impl Forth {
|
|
58
58
|
}
|
59
59
|
}
|
60
60
|
|
61
|
-
pub fn
|
62
|
-
|
63
|
-
s + &v.to_string() + " "
|
64
|
-
});
|
65
|
-
s.pop();
|
66
|
-
s
|
61
|
+
pub fn stack(&self) -> Vec<Value> {
|
62
|
+
self.stack.iter().cloned().collect()
|
67
63
|
}
|
68
64
|
|
69
65
|
pub fn eval(&mut self, input: &str) -> ForthResult {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
extern crate forth;
|
2
2
|
|
3
|
-
use forth::{Forth, Error};
|
3
|
+
use forth::{Forth, Error, Value};
|
4
4
|
|
5
5
|
#[test]
|
6
6
|
fn no_input_no_stack() {
|
7
|
-
assert_eq!(
|
7
|
+
assert_eq!(Vec::<Value>::new(), Forth::new().stack());
|
8
8
|
}
|
9
9
|
|
10
10
|
#[test]
|
@@ -12,7 +12,7 @@ fn no_input_no_stack() {
|
|
12
12
|
fn numbers_just_get_pushed_onto_the_stack() {
|
13
13
|
let mut f = Forth::new();
|
14
14
|
assert!(f.eval("1 2 3 4 5 -1").is_ok());
|
15
|
-
assert_eq!(
|
15
|
+
assert_eq!(vec![1, 2, 3, 4, 5, -1], f.stack());
|
16
16
|
}
|
17
17
|
|
18
18
|
#[test]
|
@@ -21,7 +21,7 @@ fn non_word_characters_are_separators() {
|
|
21
21
|
let mut f = Forth::new();
|
22
22
|
// Note the Ogham Space Mark ( ), this is a spacing character.
|
23
23
|
assert!(f.eval("1\u{0000}2\u{0001}3\n4\r5 6\t7").is_ok());
|
24
|
-
assert_eq!(
|
24
|
+
assert_eq!(vec![1, 2, 3, 4, 5, 6, 7], f.stack());
|
25
25
|
}
|
26
26
|
|
27
27
|
#[test]
|
@@ -29,7 +29,7 @@ fn non_word_characters_are_separators() {
|
|
29
29
|
fn basic_arithmetic_1() {
|
30
30
|
let mut f = Forth::new();
|
31
31
|
assert!(f.eval("1 2 + 4 -").is_ok());
|
32
|
-
assert_eq!(
|
32
|
+
assert_eq!(vec![-1], f.stack());
|
33
33
|
}
|
34
34
|
|
35
35
|
#[test]
|
@@ -37,7 +37,7 @@ fn basic_arithmetic_1() {
|
|
37
37
|
fn basic_arithmetic_2() {
|
38
38
|
let mut f = Forth::new();
|
39
39
|
assert!(f.eval("2 4 * 3 /").is_ok());
|
40
|
-
assert_eq!(
|
40
|
+
assert_eq!(vec![2], f.stack());
|
41
41
|
}
|
42
42
|
|
43
43
|
#[test]
|
@@ -95,7 +95,7 @@ fn division_by_zero() {
|
|
95
95
|
fn dup() {
|
96
96
|
let mut f = Forth::new();
|
97
97
|
assert!(f.eval("1 DUP").is_ok());
|
98
|
-
assert_eq!(
|
98
|
+
assert_eq!(vec![1, 1], f.stack());
|
99
99
|
}
|
100
100
|
|
101
101
|
#[test]
|
@@ -103,7 +103,7 @@ fn dup() {
|
|
103
103
|
fn dup_case_insensitive() {
|
104
104
|
let mut f = Forth::new();
|
105
105
|
assert!(f.eval("1 Dup").is_ok());
|
106
|
-
assert_eq!(
|
106
|
+
assert_eq!(vec![1, 1], f.stack());
|
107
107
|
}
|
108
108
|
|
109
109
|
#[test]
|
@@ -121,7 +121,7 @@ fn dup_error() {
|
|
121
121
|
fn drop() {
|
122
122
|
let mut f = Forth::new();
|
123
123
|
assert!(f.eval("1 drop").is_ok());
|
124
|
-
assert_eq!(
|
124
|
+
assert_eq!(Vec::<Value>::new(), f.stack());
|
125
125
|
}
|
126
126
|
|
127
127
|
#[test]
|
@@ -129,7 +129,7 @@ fn drop() {
|
|
129
129
|
fn drop_with_two() {
|
130
130
|
let mut f = Forth::new();
|
131
131
|
assert!(f.eval("1 2 drop").is_ok());
|
132
|
-
assert_eq!(
|
132
|
+
assert_eq!(vec![1], f.stack());
|
133
133
|
}
|
134
134
|
|
135
135
|
#[test]
|
@@ -147,7 +147,7 @@ fn drop_error() {
|
|
147
147
|
fn swap() {
|
148
148
|
let mut f = Forth::new();
|
149
149
|
assert!(f.eval("1 2 swap").is_ok());
|
150
|
-
assert_eq!(
|
150
|
+
assert_eq!(vec![2, 1], f.stack());
|
151
151
|
}
|
152
152
|
|
153
153
|
#[test]
|
@@ -155,7 +155,7 @@ fn swap() {
|
|
155
155
|
fn swap_with_three() {
|
156
156
|
let mut f = Forth::new();
|
157
157
|
assert!(f.eval("1 2 3 swap").is_ok());
|
158
|
-
assert_eq!(
|
158
|
+
assert_eq!(vec![1, 3, 2], f.stack());
|
159
159
|
}
|
160
160
|
|
161
161
|
#[test]
|
@@ -177,7 +177,7 @@ fn swap_error() {
|
|
177
177
|
fn over() {
|
178
178
|
let mut f = Forth::new();
|
179
179
|
assert!(f.eval("1 2 over").is_ok());
|
180
|
-
assert_eq!(
|
180
|
+
assert_eq!(vec![1, 2, 1], f.stack());
|
181
181
|
}
|
182
182
|
|
183
183
|
#[test]
|
@@ -185,7 +185,7 @@ fn over() {
|
|
185
185
|
fn over_with_three() {
|
186
186
|
let mut f = Forth::new();
|
187
187
|
assert!(f.eval("1 2 3 over").is_ok());
|
188
|
-
assert_eq!(
|
188
|
+
assert_eq!(vec![1, 2, 3, 2], f.stack());
|
189
189
|
}
|
190
190
|
|
191
191
|
#[test]
|
@@ -208,7 +208,7 @@ fn defining_a_new_word() {
|
|
208
208
|
let mut f = Forth::new();
|
209
209
|
assert!(f.eval(": CoUnT 1 2 3 ;").is_ok());
|
210
210
|
assert!(f.eval("count COUNT").is_ok());
|
211
|
-
assert_eq!(
|
211
|
+
assert_eq!(vec![1, 2, 3, 1, 2, 3], f.stack());
|
212
212
|
}
|
213
213
|
|
214
214
|
#[test]
|
@@ -218,7 +218,7 @@ fn redefining_an_existing_word() {
|
|
218
218
|
assert!(f.eval(": foo dup ;").is_ok());
|
219
219
|
assert!(f.eval(": foo dup dup ;").is_ok());
|
220
220
|
assert!(f.eval("1 foo").is_ok());
|
221
|
-
assert_eq!(
|
221
|
+
assert_eq!(vec![1, 1, 1], f.stack());
|
222
222
|
}
|
223
223
|
|
224
224
|
#[test]
|
@@ -227,7 +227,7 @@ fn redefining_an_existing_built_in_word() {
|
|
227
227
|
let mut f = Forth::new();
|
228
228
|
assert!(f.eval(": swap dup ;").is_ok());
|
229
229
|
assert!(f.eval("1 swap").is_ok());
|
230
|
-
assert_eq!(
|
230
|
+
assert_eq!(vec![1, 1], f.stack());
|
231
231
|
}
|
232
232
|
|
233
233
|
#[test]
|
@@ -235,7 +235,7 @@ fn redefining_an_existing_built_in_word() {
|
|
235
235
|
fn defining_words_with_odd_characters() {
|
236
236
|
let mut f = Forth::new();
|
237
237
|
assert!(f.eval(": € 220371 ; €").is_ok());
|
238
|
-
assert_eq!(
|
238
|
+
assert_eq!(vec![220371], f.stack());
|
239
239
|
}
|
240
240
|
|
241
241
|
#[test]
|
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.1.0.
|
4
|
+
version: 2.1.0.30
|
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-06-
|
11
|
+
date: 2017-06-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -4754,6 +4754,10 @@ files:
|
|
4754
4754
|
- tracks/java/exercises/wordy/src/example/java/WordProblemSolver.java
|
4755
4755
|
- tracks/java/exercises/wordy/src/main/java/WordProblemSolver.java
|
4756
4756
|
- tracks/java/exercises/wordy/src/test/java/WordProblemSolverTest.java
|
4757
|
+
- tracks/java/gradle/wrapper/gradle-wrapper.jar
|
4758
|
+
- tracks/java/gradle/wrapper/gradle-wrapper.properties
|
4759
|
+
- tracks/java/gradlew
|
4760
|
+
- tracks/java/gradlew.bat
|
4757
4761
|
- tracks/java/img/icon.png
|
4758
4762
|
- tracks/java/scripts/increase-test-logging.sh
|
4759
4763
|
- tracks/java/scripts/insert-ignores.sh
|
@@ -6660,6 +6664,8 @@ files:
|
|
6660
6664
|
- tracks/php/exercises/phone-number/phone-number_test.php
|
6661
6665
|
- tracks/php/exercises/pig-latin/example.php
|
6662
6666
|
- tracks/php/exercises/pig-latin/pig-latin_test.php
|
6667
|
+
- tracks/php/exercises/prime-factors/example.php
|
6668
|
+
- tracks/php/exercises/prime-factors/prime-factors_test.php
|
6663
6669
|
- tracks/php/exercises/queen-attack/example.php
|
6664
6670
|
- tracks/php/exercises/queen-attack/queen-attack_test.php
|
6665
6671
|
- tracks/php/exercises/raindrops/example.php
|
@@ -7655,6 +7661,8 @@ files:
|
|
7655
7661
|
- tracks/ruby/exercises/space-age/space_age_test.rb
|
7656
7662
|
- tracks/ruby/exercises/strain/.meta/solutions/strain.rb
|
7657
7663
|
- tracks/ruby/exercises/strain/strain_test.rb
|
7664
|
+
- tracks/ruby/exercises/sum-of-multiples/.meta/.version
|
7665
|
+
- tracks/ruby/exercises/sum-of-multiples/.meta/generator/sum_of_multiples_case.rb
|
7658
7666
|
- tracks/ruby/exercises/sum-of-multiples/.meta/solutions/sum_of_multiples.rb
|
7659
7667
|
- tracks/ruby/exercises/sum-of-multiples/sum_of_multiples_test.rb
|
7660
7668
|
- tracks/ruby/exercises/tournament/.meta/.version
|