trackler 2.1.0.16 → 2.1.0.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fixtures/tracks/snowflake/exercises/snowflake-only/{description.md → .meta/description.md} +0 -0
- data/fixtures/tracks/snowflake/exercises/snowflake-only/{metadata.yml → .meta/metadata.yml} +0 -0
- data/lib/trackler/guaranteed_file.rb +2 -2
- data/lib/trackler/version.rb +1 -1
- data/tracks/coq/exercises/tautology/{description.md → .meta/description.md} +0 -0
- data/tracks/coq/exercises/tautology/{metadata.yml → .meta/metadata.yml} +0 -0
- data/tracks/java/exercises/robot-simulator/src/test/java/RobotTest.java +1 -1
- data/tracks/perl6/config.json +1 -1
- data/tracks/ruby/exercises/phone-number/.meta/.version +1 -1
- data/tracks/ruby/exercises/phone-number/.meta/solutions/phone_number.rb +1 -1
- data/tracks/ruby/exercises/phone-number/phone_number_test.rb +2 -7
- data/tracks/ruby/exercises/space-age/.meta/.version +1 -0
- data/tracks/ruby/exercises/space-age/.meta/generator/space_age_case.rb +11 -0
- data/tracks/ruby/exercises/space-age/.meta/generator/test_template.erb +25 -0
- data/tracks/ruby/exercises/space-age/.meta/solutions/space_age.rb +4 -0
- data/tracks/ruby/exercises/space-age/space_age_test.rb +30 -16
- data/tracks/ruby/lib/generator/underscore.rb +6 -0
- data/tracks/rust/config.json +0 -1
- data/tracks/typescript/exercises/anagram/anagram.test.ts +10 -10
- data/tracks/typescript/exercises/beer-song/beer-song.test.ts +5 -5
- data/tracks/typescript/exercises/bob/bob.test.ts +16 -16
- data/tracks/typescript/exercises/etl/etl.test.ts +3 -3
- data/tracks/typescript/exercises/food-chain/food-chain.test.ts +9 -9
- data/tracks/typescript/exercises/gigasecond/gigasecond.test.ts +3 -3
- data/tracks/typescript/exercises/grade-school/grade-school.test.ts +8 -8
- data/tracks/typescript/exercises/hamming/hamming.test.ts +7 -7
- data/tracks/typescript/exercises/hello-world/hello-world.test.ts +2 -2
- data/tracks/typescript/exercises/leap/leap.test.ts +7 -7
- data/tracks/typescript/exercises/pangram/pangram.test.ts +8 -8
- data/tracks/typescript/exercises/phone-number/phone-number.test.ts +9 -9
- data/tracks/typescript/exercises/rna-transcription/rna-transcription.test.ts +7 -7
- data/tracks/typescript/exercises/robot-name/robot-name.test.ts +7 -7
- data/tracks/typescript/exercises/say/say.test.ts +15 -15
- data/tracks/typescript/exercises/space-age/space-age.test.ts +8 -8
- data/tracks/typescript/exercises/word-count/word-count.test.ts +11 -11
- data/tracks/typescript/exercises/wordy/wordy.test.ts +15 -15
- metadata +8 -11
- data/tracks/coq/exercises/hello-world/metadata.yml +0 -3
- data/tracks/coq/exercises/rna-transcription/metadata.yml +0 -3
- data/tracks/rust/exercises/luhn-from/description.md +0 -9
- data/tracks/rust/exercises/luhn-from/metadata.yml +0 -3
- data/tracks/rust/exercises/luhn-trait/description.md +0 -17
- data/tracks/rust/exercises/luhn-trait/metadata.yml +0 -3
@@ -7,79 +7,79 @@ describe('Word Problem', () => {
|
|
7
7
|
expect(new WordProblem(question).answer()).toEqual(2)
|
8
8
|
})
|
9
9
|
|
10
|
-
|
10
|
+
xit('add 2', () => {
|
11
11
|
const question = 'What is 53 plus 2?'
|
12
12
|
expect(new WordProblem(question).answer()).toEqual(55)
|
13
13
|
})
|
14
14
|
|
15
|
-
|
15
|
+
xit('add negative numbers', () => {
|
16
16
|
const question = 'What is -1 plus -10?'
|
17
17
|
expect(new WordProblem(question).answer()).toEqual(-11)
|
18
18
|
})
|
19
19
|
|
20
|
-
|
20
|
+
xit('add more digits', () => {
|
21
21
|
const question = 'What is 123 plus 45678?'
|
22
22
|
expect(new WordProblem(question).answer()).toEqual(45801)
|
23
23
|
})
|
24
24
|
|
25
|
-
|
25
|
+
xit('subtract', () => {
|
26
26
|
const question = 'What is 4 minus -12?'
|
27
27
|
expect(new WordProblem(question).answer()).toEqual(16)
|
28
28
|
})
|
29
29
|
|
30
|
-
|
30
|
+
xit('multiply', () => {
|
31
31
|
const question = 'What is -3 multiplied by 25?'
|
32
32
|
expect(new WordProblem(question).answer()).toEqual(-75)
|
33
33
|
})
|
34
34
|
|
35
|
-
|
35
|
+
xit('divide', () => {
|
36
36
|
const question = 'What is 33 divided by -3?'
|
37
37
|
expect(new WordProblem(question).answer()).toEqual(-11)
|
38
38
|
})
|
39
39
|
|
40
|
-
|
40
|
+
xit('add twice', () => {
|
41
41
|
const question = 'What is 1 plus 1 plus 1?'
|
42
42
|
expect(new WordProblem(question).answer()).toEqual(3)
|
43
43
|
})
|
44
44
|
|
45
|
-
|
45
|
+
xit('add then subtract', () => {
|
46
46
|
const question = 'What is 1 plus 5 minus -2?'
|
47
47
|
expect(new WordProblem(question).answer()).toEqual(8)
|
48
48
|
})
|
49
49
|
|
50
|
-
|
50
|
+
xit('subtract twice', () => {
|
51
51
|
const question = 'What is 20 minus 4 minus 13?'
|
52
52
|
expect(new WordProblem(question).answer()).toEqual(3)
|
53
53
|
})
|
54
54
|
|
55
|
-
|
55
|
+
xit('subtract then add', () => {
|
56
56
|
const question = 'What is 17 minus 6 plus 3?'
|
57
57
|
expect(new WordProblem(question).answer()).toEqual(14)
|
58
58
|
})
|
59
59
|
|
60
|
-
|
60
|
+
xit('multiply twice', () => {
|
61
61
|
const question = 'What is 2 multiplied by -2 multiplied by 3?'
|
62
62
|
expect(new WordProblem(question).answer()).toEqual(-12)
|
63
63
|
})
|
64
64
|
|
65
|
-
|
65
|
+
xit('add then multiply', () => {
|
66
66
|
const question = 'What is -3 plus 7 multiplied by -2?'
|
67
67
|
expect(new WordProblem(question).answer()).toEqual(-8)
|
68
68
|
})
|
69
69
|
|
70
|
-
|
70
|
+
xit('divide twice', () => {
|
71
71
|
const question = 'What is -12 divided by 2 divided by -3?'
|
72
72
|
expect(new WordProblem(question).answer()).toEqual(2)
|
73
73
|
})
|
74
74
|
|
75
|
-
|
75
|
+
xit('too advanced', () => {
|
76
76
|
const question = 'What is 53 cubed?'
|
77
77
|
const problem = new WordProblem(question)
|
78
78
|
|
79
79
|
expect(problem.answer.bind(problem)).toThrowError( ArgumentError )
|
80
80
|
})
|
81
81
|
|
82
|
-
|
82
|
+
xit('irrelevant', () => {
|
83
83
|
const question = 'Who is the president of the United States?'
|
84
84
|
const problem = new WordProblem(question)
|
85
85
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
@@ -515,8 +515,8 @@ files:
|
|
515
515
|
- fixtures/tracks/shoes/hello-world/example.ext
|
516
516
|
- fixtures/tracks/shoes/hello-world/hello_world_test.ext
|
517
517
|
- fixtures/tracks/snowflake/config.json
|
518
|
-
- fixtures/tracks/snowflake/exercises/snowflake-only/description.md
|
519
|
-
- fixtures/tracks/snowflake/exercises/snowflake-only/metadata.yml
|
518
|
+
- fixtures/tracks/snowflake/exercises/snowflake-only/.meta/description.md
|
519
|
+
- fixtures/tracks/snowflake/exercises/snowflake-only/.meta/metadata.yml
|
520
520
|
- fixtures/tracks/vehicles/config.json
|
521
521
|
- lib/trackler.rb
|
522
522
|
- lib/trackler/description.rb
|
@@ -1177,15 +1177,13 @@ files:
|
|
1177
1177
|
- tracks/coq/exercises/TRACK_HINTS.md
|
1178
1178
|
- tracks/coq/exercises/hello-world/example.v
|
1179
1179
|
- tracks/coq/exercises/hello-world/helloworld.v
|
1180
|
-
- tracks/coq/exercises/hello-world/metadata.yml
|
1181
1180
|
- tracks/coq/exercises/hello-world/test.v
|
1182
1181
|
- tracks/coq/exercises/rna-transcription/DNA.v
|
1183
1182
|
- tracks/coq/exercises/rna-transcription/example.v
|
1184
|
-
- tracks/coq/exercises/rna-transcription/metadata.yml
|
1185
1183
|
- tracks/coq/exercises/rna-transcription/rna-transcription.v
|
1186
|
-
- tracks/coq/exercises/tautology/description.md
|
1184
|
+
- tracks/coq/exercises/tautology/.meta/description.md
|
1185
|
+
- tracks/coq/exercises/tautology/.meta/metadata.yml
|
1187
1186
|
- tracks/coq/exercises/tautology/example.v
|
1188
|
-
- tracks/coq/exercises/tautology/metadata.yml
|
1189
1187
|
- tracks/coq/exercises/tautology/tautology.v
|
1190
1188
|
- tracks/coq/img/.keep
|
1191
1189
|
- tracks/cpp/.editorconfig
|
@@ -7441,6 +7439,9 @@ files:
|
|
7441
7439
|
- tracks/ruby/exercises/simple-linked-list/.meta/.version
|
7442
7440
|
- tracks/ruby/exercises/simple-linked-list/.meta/solutions/simple_linked_list.rb
|
7443
7441
|
- tracks/ruby/exercises/simple-linked-list/simple_linked_list_test.rb
|
7442
|
+
- tracks/ruby/exercises/space-age/.meta/.version
|
7443
|
+
- tracks/ruby/exercises/space-age/.meta/generator/space_age_case.rb
|
7444
|
+
- tracks/ruby/exercises/space-age/.meta/generator/test_template.erb
|
7444
7445
|
- tracks/ruby/exercises/space-age/.meta/solutions/space_age.rb
|
7445
7446
|
- tracks/ruby/exercises/space-age/space_age_test.rb
|
7446
7447
|
- tracks/ruby/exercises/strain/.meta/solutions/strain.rb
|
@@ -7690,18 +7691,14 @@ files:
|
|
7690
7691
|
- tracks/rust/exercises/luhn-from/.meta/description.md
|
7691
7692
|
- tracks/rust/exercises/luhn-from/.meta/metadata.yml
|
7692
7693
|
- tracks/rust/exercises/luhn-from/Cargo.toml
|
7693
|
-
- tracks/rust/exercises/luhn-from/description.md
|
7694
7694
|
- tracks/rust/exercises/luhn-from/example.rs
|
7695
|
-
- tracks/rust/exercises/luhn-from/metadata.yml
|
7696
7695
|
- tracks/rust/exercises/luhn-from/src/lib.rs
|
7697
7696
|
- tracks/rust/exercises/luhn-from/tests/luhn-from.rs
|
7698
7697
|
- tracks/rust/exercises/luhn-trait/.gitignore
|
7699
7698
|
- tracks/rust/exercises/luhn-trait/.meta/description.md
|
7700
7699
|
- tracks/rust/exercises/luhn-trait/.meta/metadata.yml
|
7701
7700
|
- tracks/rust/exercises/luhn-trait/Cargo.toml
|
7702
|
-
- tracks/rust/exercises/luhn-trait/description.md
|
7703
7701
|
- tracks/rust/exercises/luhn-trait/example.rs
|
7704
|
-
- tracks/rust/exercises/luhn-trait/metadata.yml
|
7705
7702
|
- tracks/rust/exercises/luhn-trait/src/lib.rs
|
7706
7703
|
- tracks/rust/exercises/luhn-trait/tests/luhn-trait.rs
|
7707
7704
|
- tracks/rust/exercises/luhn/.gitignore
|
@@ -1,9 +0,0 @@
|
|
1
|
-
# Luhn: Using the From Trait
|
2
|
-
|
3
|
-
Before doing this exercise you should probably do the original Luhn exercise. If you have not completed Luhn, you can get it by running the command:
|
4
|
-
|
5
|
-
> `exercism fetch rust luhn`
|
6
|
-
|
7
|
-
In the original Luhn exercise you only validated strings, but the Luhn algorithm can be applied to integers as well.
|
8
|
-
|
9
|
-
In this exercise you'll implement the [From trait](https://doc.rust-lang.org/std/convert/trait.From.html) to convert strings, strs and unsigned integers into a Struct that performs the validation.
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# Luhn: Using a Custom Trait
|
2
|
-
|
3
|
-
Before doing this exercise you should probably do the original Luhn exercise and its successor, "Luhn: Using the From Trait"
|
4
|
-
|
5
|
-
To get the original Luhn exercise, run `exercism fetch rust luhn`
|
6
|
-
|
7
|
-
To get the "Luhn: Using the From Trait" exercise, run `exercism fetch rust luhn-from`
|
8
|
-
|
9
|
-
In the original Luhn exercise you only validated strings, but the Luhn algorithm can be applied to integers as well.
|
10
|
-
|
11
|
-
In "Luhn: Using the From Trait" you implemented a From trait, which also required you to create a Luhn struct.
|
12
|
-
|
13
|
-
Instead of creating a Struct just to perform the validation, what if you you validated the primitives (i.e, String, u8, etc.) themselves?
|
14
|
-
|
15
|
-
In this exercise you'll create and implement a custom [trait](https://doc.rust-lang.org/book/traits.html) that performs the validation.
|
16
|
-
|
17
|
-
Note: It is [not idiomatic Rust to implement traits on on primitives](https://doc.rust-lang.org/book/traits.html#rules-for-implementing-traits). In this exercise we're showing something that you _can_ do, not something you _should_ do. If you find yourself implementing traits on primitives, perhaps you have a case of [Primitive Obsession](http://wiki.c2.com/?PrimitiveObsession).
|