trackler 2.0.8.38 → 2.0.8.39
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/lib/trackler/version.rb +1 -1
- data/tracks/csharp/exercises/list-ops/HINTS.md +1 -1
- data/tracks/csharp/exercises/nucleotide-count/HINTS.md +3 -0
- data/tracks/go/config.json +8 -0
- data/tracks/go/exercises/bowling/bowling_test.go +77 -0
- data/tracks/go/exercises/bowling/cases_test.go +225 -0
- data/tracks/go/exercises/bowling/example.go +133 -0
- data/tracks/go/exercises/bowling/example_gen.go +117 -0
- data/tracks/go/exercises/leap/cases_test.go +2 -1
- data/tracks/go/exercises/leap/example_gen.go +1 -3
- data/tracks/go/gen/gen.go +39 -6
- data/tracks/perl6/bin/README.md +29 -0
- data/tracks/perl6/bin/exercise-gen.pl6 +36 -0
- data/tracks/perl6/config.json +1 -0
- data/tracks/perl6/exercises/hello-world/example.yaml +19 -0
- data/tracks/perl6/templates/test.mustache +53 -0
- data/tracks/python/.travis.yml +1 -1
- data/tracks/python/README.md +2 -6
- data/tracks/python/config.json +9 -0
- data/tracks/python/exercises/anagram/anagram_test.py +52 -48
- data/tracks/python/exercises/largest-series-product/largest_series_product_test.py +43 -42
- data/tracks/python/exercises/nth-prime/example.py +3 -0
- data/tracks/python/exercises/nth-prime/nth_prime_test.py +15 -5
- data/tracks/python/exercises/rotational-cipher/example.py +14 -0
- data/tracks/python/exercises/rotational-cipher/rotational_cipher.py +2 -0
- data/tracks/python/exercises/rotational-cipher/rotational_cipher_test.py +53 -0
- data/tracks/python/exercises/word-search/example.py +9 -8
- metadata +57 -2
|
@@ -11,33 +11,62 @@ import unittest
|
|
|
11
11
|
from largest_series_product import largest_product
|
|
12
12
|
|
|
13
13
|
|
|
14
|
+
# test cases adapted from `x-common//canonical-data.json` @ version: 1.0.0
|
|
15
|
+
|
|
14
16
|
class SeriesTest(unittest.TestCase):
|
|
15
|
-
def
|
|
17
|
+
def test_finds_the_largest_product_if_span_equals_length(self):
|
|
18
|
+
self.assertEqual(largest_product("29", 2), 18)
|
|
19
|
+
|
|
20
|
+
def test_can_find_the_largest_product_of_2_with_numbers_in_order(self):
|
|
16
21
|
self.assertEqual(largest_product("0123456789", 2), 72)
|
|
17
22
|
|
|
18
|
-
def
|
|
23
|
+
def test_can_find_the_largest_product_of_2(self):
|
|
19
24
|
self.assertEqual(largest_product("576802143", 2), 48)
|
|
20
25
|
|
|
21
|
-
def
|
|
22
|
-
self.assertEqual(largest_product("29", 2), 18)
|
|
23
|
-
|
|
24
|
-
def test_largest_product_of_3(self):
|
|
26
|
+
def test_can_find_the_largest_product_of_3_with_numbers_in_order(self):
|
|
25
27
|
self.assertEqual(largest_product("0123456789", 3), 504)
|
|
26
28
|
|
|
27
|
-
def
|
|
29
|
+
def test_can_find_the_largest_product_of_3(self):
|
|
28
30
|
self.assertEqual(largest_product("1027839564", 3), 270)
|
|
29
31
|
|
|
30
|
-
def
|
|
32
|
+
def test_can_find_the_largest_product_of_5_with_numbers_in_order(self):
|
|
31
33
|
self.assertEqual(largest_product("0123456789", 5), 15120)
|
|
32
34
|
|
|
33
|
-
def
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
def test_can_get_the_largest_product_of_a_big_number(self):
|
|
36
|
+
self.assertEqual(
|
|
37
|
+
largest_product(
|
|
38
|
+
"73167176531330624919225119674426574742355349194934", 6),
|
|
39
|
+
23520)
|
|
40
|
+
|
|
41
|
+
def test_reports_zero_if_the_only_digits_are_zero(self):
|
|
42
|
+
self.assertEqual(largest_product("0000", 2), 0)
|
|
43
|
+
|
|
44
|
+
def test_reports_zero_if_all_spans_include_zero(self):
|
|
45
|
+
self.assertEqual(largest_product("99099", 3), 0)
|
|
46
|
+
|
|
47
|
+
def test_rejects_span_longer_than_string_length(self):
|
|
48
|
+
with self.assertRaises(ValueError):
|
|
49
|
+
largest_product("123", 4)
|
|
50
|
+
|
|
51
|
+
def test_reports_1_for_empty_string_and_empty_product_0_span(self):
|
|
52
|
+
self.assertEqual(largest_product("", 0), 1)
|
|
53
|
+
|
|
54
|
+
def test_reports_1_for_nonempty_string_and_empty_product_0_span(self):
|
|
55
|
+
self.assertEqual(largest_product("123", 0), 1)
|
|
56
|
+
|
|
57
|
+
def test_rejects_empty_string_and_nonzero_span(self):
|
|
58
|
+
with self.assertRaises(ValueError):
|
|
59
|
+
largest_product("", 1)
|
|
60
|
+
|
|
61
|
+
def test_rejects_invalid_character_in_digits(self):
|
|
62
|
+
with self.assertRaises(ValueError):
|
|
63
|
+
largest_product("1234a5", 2)
|
|
36
64
|
|
|
37
|
-
def
|
|
38
|
-
|
|
39
|
-
|
|
65
|
+
def test_rejects_negative_span(self):
|
|
66
|
+
with self.assertRaises(ValueError):
|
|
67
|
+
largest_product("12345", -1)
|
|
40
68
|
|
|
69
|
+
@unittest.skip("extra-credit")
|
|
41
70
|
def test_project_euler_big_number(self):
|
|
42
71
|
series = (
|
|
43
72
|
"73167176531330624919225119674426574742355349194934969835203127745"
|
|
@@ -58,34 +87,6 @@ class SeriesTest(unittest.TestCase):
|
|
|
58
87
|
"3600823257530420752963450")
|
|
59
88
|
self.assertEqual(largest_product(series, 13), 23514624000)
|
|
60
89
|
|
|
61
|
-
def test_all_digits_zero(self):
|
|
62
|
-
self.assertEqual(largest_product("0000", 2), 0)
|
|
63
|
-
|
|
64
|
-
def test_all_spans_contain_zero(self):
|
|
65
|
-
self.assertEqual(largest_product("99099", 3), 0)
|
|
66
|
-
|
|
67
|
-
def test_identity_with_empty_string(self):
|
|
68
|
-
self.assertEqual(largest_product("", 0), 1)
|
|
69
|
-
|
|
70
|
-
def test_identity_with_nonempty_string(self):
|
|
71
|
-
self.assertEqual(largest_product("123", 0), 1)
|
|
72
|
-
|
|
73
|
-
def test_span_long_than_number(self):
|
|
74
|
-
with self.assertRaises(ValueError):
|
|
75
|
-
largest_product("123", 4)
|
|
76
|
-
|
|
77
|
-
def test_nonzero_span_and_empty_string(self):
|
|
78
|
-
with self.assertRaises(ValueError):
|
|
79
|
-
largest_product("", 1)
|
|
80
|
-
|
|
81
|
-
def test_digits_with_invalid_character(self):
|
|
82
|
-
with self.assertRaises(ValueError):
|
|
83
|
-
largest_product("1234a5", 2)
|
|
84
|
-
|
|
85
|
-
def test_negative_span(self):
|
|
86
|
-
with self.assertRaises(ValueError):
|
|
87
|
-
largest_product("12345", -1)
|
|
88
|
-
|
|
89
90
|
|
|
90
91
|
if __name__ == '__main__':
|
|
91
92
|
unittest.main()
|
|
@@ -3,21 +3,31 @@ import unittest
|
|
|
3
3
|
from nth_prime import nth_prime
|
|
4
4
|
|
|
5
5
|
|
|
6
|
+
# test cases adapted from `x-common//canonical-data.json` @ version: 1.0.0
|
|
7
|
+
|
|
6
8
|
class NthPrimeTests(unittest.TestCase):
|
|
7
9
|
def test_first_prime(self):
|
|
8
|
-
self.assertEqual(
|
|
10
|
+
self.assertEqual(nth_prime(1), 2)
|
|
11
|
+
|
|
12
|
+
def test_second_prime(self):
|
|
13
|
+
self.assertEqual(nth_prime(2), 3)
|
|
9
14
|
|
|
10
15
|
def test_sixth_prime(self):
|
|
11
|
-
self.assertEqual(
|
|
16
|
+
self.assertEqual(nth_prime(6), 13)
|
|
17
|
+
|
|
18
|
+
def test_big_prime(self):
|
|
19
|
+
self.assertEqual(nth_prime(10001), 104743)
|
|
12
20
|
|
|
21
|
+
def test_there_is_no_zeroth_prime(self):
|
|
22
|
+
with self.assertRaises(ValueError):
|
|
23
|
+
nth_prime(0)
|
|
24
|
+
|
|
25
|
+
# additional track specific test
|
|
13
26
|
def test_first_twenty_primes(self):
|
|
14
27
|
self.assertEqual([2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31,
|
|
15
28
|
37, 41, 43, 47, 53, 59, 61, 67, 71],
|
|
16
29
|
[nth_prime(n) for n in range(1, 21)])
|
|
17
30
|
|
|
18
|
-
def test_prime_no_10000(self):
|
|
19
|
-
self.assertEqual(104729, nth_prime(10000))
|
|
20
|
-
|
|
21
31
|
|
|
22
32
|
if __name__ == '__main__':
|
|
23
33
|
unittest.main()
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from string import ascii_lowercase as alpha_lower
|
|
2
|
+
from string import ascii_uppercase as alpha_upper
|
|
3
|
+
ALPHA_LEN = len(alpha_lower)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def rotate(message, key):
|
|
7
|
+
coded_message = ""
|
|
8
|
+
for char in message:
|
|
9
|
+
if char in alpha_lower:
|
|
10
|
+
char = alpha_lower[(alpha_lower.index(char) + key) % ALPHA_LEN]
|
|
11
|
+
elif char in alpha_upper:
|
|
12
|
+
char = alpha_upper[(alpha_upper.index(char) + key) % ALPHA_LEN]
|
|
13
|
+
coded_message += char
|
|
14
|
+
return coded_message
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import unittest
|
|
2
|
+
|
|
3
|
+
import rotational_cipher
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class RotationalCipher(unittest.TestCase):
|
|
7
|
+
def test_rotate_a_by_1(self):
|
|
8
|
+
self.assertEqual(rotational_cipher.rotate('a', 1), 'b')
|
|
9
|
+
|
|
10
|
+
def test_rotate_a_by_26(self):
|
|
11
|
+
self.assertEqual(rotational_cipher.rotate('a', 26), 'a')
|
|
12
|
+
|
|
13
|
+
def test_rotate_a_by_0(self):
|
|
14
|
+
self.assertEqual(rotational_cipher.rotate('a', 0), 'a')
|
|
15
|
+
|
|
16
|
+
def test_rotate_m_by_13(self):
|
|
17
|
+
self.assertEqual(rotational_cipher.rotate('m', 13), 'z')
|
|
18
|
+
|
|
19
|
+
def test_rotate_n_by_13_with_wrap_around_alphabet(self):
|
|
20
|
+
self.assertEqual(rotational_cipher.rotate('n', 13), 'a')
|
|
21
|
+
|
|
22
|
+
def test_rotate_capital_letters(self):
|
|
23
|
+
self.assertEqual(rotational_cipher.rotate('OMG', 5), 'TRL')
|
|
24
|
+
|
|
25
|
+
def test_rotate_spaces(self):
|
|
26
|
+
self.assertEqual(rotational_cipher.rotate('O M G', 5),
|
|
27
|
+
'T R L')
|
|
28
|
+
|
|
29
|
+
def test_rotate_numbers(self):
|
|
30
|
+
self.assertEqual(
|
|
31
|
+
rotational_cipher.rotate(
|
|
32
|
+
'Testing 1 2 3 testing',
|
|
33
|
+
4),
|
|
34
|
+
'Xiwxmrk 1 2 3 xiwxmrk')
|
|
35
|
+
|
|
36
|
+
def test_rotate_punctuation(self):
|
|
37
|
+
self.assertEqual(
|
|
38
|
+
rotational_cipher.rotate(
|
|
39
|
+
"Let's eat, Grandma!",
|
|
40
|
+
21),
|
|
41
|
+
"Gzo'n zvo, Bmviyhv!")
|
|
42
|
+
|
|
43
|
+
def test_rotate_all_letters(self):
|
|
44
|
+
self.assertEqual(
|
|
45
|
+
rotational_cipher.rotate(
|
|
46
|
+
"The quick brown fox jumps"
|
|
47
|
+
" over the lazy dog.",
|
|
48
|
+
13),
|
|
49
|
+
"Gur dhvpx oebja sbk whzcf bire gur ynml qbt.")
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
if __name__ == '__main__':
|
|
53
|
+
unittest.main()
|
|
@@ -19,7 +19,7 @@ class Point(object):
|
|
|
19
19
|
return self.x == other.x and self.y == other.y
|
|
20
20
|
|
|
21
21
|
def __ne__(self, other):
|
|
22
|
-
return not(self == other)
|
|
22
|
+
return not (self == other)
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
DIRECTIONS = (Point(1, 0), Point(1, -1), Point(1, 1), Point(-1, -1),
|
|
@@ -40,15 +40,16 @@ class WordSearch(object):
|
|
|
40
40
|
return self.rows[coordinate.y][coordinate.x]
|
|
41
41
|
|
|
42
42
|
def find(self, word, position, direction):
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
current = copy.copy(position)
|
|
44
|
+
for letter in word:
|
|
45
|
+
if self.find_char(current) != letter:
|
|
46
|
+
return
|
|
47
|
+
current += direction
|
|
48
|
+
return position, current - direction
|
|
49
49
|
|
|
50
50
|
def search(self, word):
|
|
51
|
-
positions = (Point(x, y)
|
|
51
|
+
positions = (Point(x, y)
|
|
52
|
+
for x in range(self.width) for y in range(self.height))
|
|
52
53
|
for pos in positions:
|
|
53
54
|
for d in DIRECTIONS:
|
|
54
55
|
result = self.find(word, pos, d)
|
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.0.8.
|
|
4
|
+
version: 2.0.8.39
|
|
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-04-
|
|
11
|
+
date: 2017-04-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rubyzip
|
|
@@ -1645,6 +1645,7 @@ files:
|
|
|
1645
1645
|
- tracks/csharp/exercises/nth-prime/NthPrime.csproj
|
|
1646
1646
|
- tracks/csharp/exercises/nth-prime/NthPrimeTest.cs
|
|
1647
1647
|
- tracks/csharp/exercises/nucleotide-count/Example.cs
|
|
1648
|
+
- tracks/csharp/exercises/nucleotide-count/HINTS.md
|
|
1648
1649
|
- tracks/csharp/exercises/nucleotide-count/NucleotideCount.cs
|
|
1649
1650
|
- tracks/csharp/exercises/nucleotide-count/NucleotideCount.csproj
|
|
1650
1651
|
- tracks/csharp/exercises/nucleotide-count/NucleotideCountTest.cs
|
|
@@ -3365,6 +3366,10 @@ files:
|
|
|
3365
3366
|
- tracks/go/exercises/bob/cases_test.go
|
|
3366
3367
|
- tracks/go/exercises/bob/example.go
|
|
3367
3368
|
- tracks/go/exercises/bob/example_gen.go
|
|
3369
|
+
- tracks/go/exercises/bowling/bowling_test.go
|
|
3370
|
+
- tracks/go/exercises/bowling/cases_test.go
|
|
3371
|
+
- tracks/go/exercises/bowling/example.go
|
|
3372
|
+
- tracks/go/exercises/bowling/example_gen.go
|
|
3368
3373
|
- tracks/go/exercises/bracket-push/bracket_push_test.go
|
|
3369
3374
|
- tracks/go/exercises/bracket-push/example.go
|
|
3370
3375
|
- tracks/go/exercises/change/cases_test.go
|
|
@@ -6185,6 +6190,8 @@ files:
|
|
|
6185
6190
|
- tracks/perl6/LICENSE
|
|
6186
6191
|
- tracks/perl6/README.md
|
|
6187
6192
|
- tracks/perl6/SETUP.md
|
|
6193
|
+
- tracks/perl6/bin/README.md
|
|
6194
|
+
- tracks/perl6/bin/exercise-gen.pl6
|
|
6188
6195
|
- tracks/perl6/bin/fetch-configlet
|
|
6189
6196
|
- tracks/perl6/config.json
|
|
6190
6197
|
- tracks/perl6/docs/ABOUT.md
|
|
@@ -6220,6 +6227,7 @@ files:
|
|
|
6220
6227
|
- tracks/perl6/exercises/grains/grains.t
|
|
6221
6228
|
- tracks/perl6/exercises/hello-world/Example.pm
|
|
6222
6229
|
- tracks/perl6/exercises/hello-world/HelloWorld.pm6
|
|
6230
|
+
- tracks/perl6/exercises/hello-world/example.yaml
|
|
6223
6231
|
- tracks/perl6/exercises/hello-world/hello-world.t
|
|
6224
6232
|
- tracks/perl6/exercises/leap/Example.pm
|
|
6225
6233
|
- tracks/perl6/exercises/leap/Leap.pm6
|
|
@@ -6254,6 +6262,7 @@ files:
|
|
|
6254
6262
|
- tracks/perl6/exercises/wordy/Wordy.pm6
|
|
6255
6263
|
- tracks/perl6/exercises/wordy/wordy.t
|
|
6256
6264
|
- tracks/perl6/img/icon.png
|
|
6265
|
+
- tracks/perl6/templates/test.mustache
|
|
6257
6266
|
- tracks/php/.editorconfig
|
|
6258
6267
|
- tracks/php/.git
|
|
6259
6268
|
- tracks/php/.gitignore
|
|
@@ -6770,6 +6779,9 @@ files:
|
|
|
6770
6779
|
- tracks/python/exercises/roman-numerals/example.py
|
|
6771
6780
|
- tracks/python/exercises/roman-numerals/roman_numerals.py
|
|
6772
6781
|
- tracks/python/exercises/roman-numerals/roman_numerals_test.py
|
|
6782
|
+
- tracks/python/exercises/rotational-cipher/example.py
|
|
6783
|
+
- tracks/python/exercises/rotational-cipher/rotational_cipher.py
|
|
6784
|
+
- tracks/python/exercises/rotational-cipher/rotational_cipher_test.py
|
|
6773
6785
|
- tracks/python/exercises/run-length-encoding/example.py
|
|
6774
6786
|
- tracks/python/exercises/run-length-encoding/run_length_encoding.py
|
|
6775
6787
|
- tracks/python/exercises/run-length-encoding/run_length_encoding_test.py
|
|
@@ -7354,6 +7366,7 @@ files:
|
|
|
7354
7366
|
- tracks/rust/exercises/acronym/Cargo.lock
|
|
7355
7367
|
- tracks/rust/exercises/acronym/Cargo.toml
|
|
7356
7368
|
- tracks/rust/exercises/acronym/example.rs
|
|
7369
|
+
- tracks/rust/exercises/acronym/src/lib.rs
|
|
7357
7370
|
- tracks/rust/exercises/acronym/tests/acronym.rs
|
|
7358
7371
|
- tracks/rust/exercises/all-your-base/Cargo.lock
|
|
7359
7372
|
- tracks/rust/exercises/all-your-base/Cargo.toml
|
|
@@ -7364,6 +7377,7 @@ files:
|
|
|
7364
7377
|
- tracks/rust/exercises/allergies/Cargo.lock
|
|
7365
7378
|
- tracks/rust/exercises/allergies/Cargo.toml
|
|
7366
7379
|
- tracks/rust/exercises/allergies/example.rs
|
|
7380
|
+
- tracks/rust/exercises/allergies/src/lib.rs
|
|
7367
7381
|
- tracks/rust/exercises/allergies/tests/allergies.rs
|
|
7368
7382
|
- tracks/rust/exercises/alphametics/Cargo-example.toml
|
|
7369
7383
|
- tracks/rust/exercises/alphametics/Cargo.lock
|
|
@@ -7375,55 +7389,66 @@ files:
|
|
|
7375
7389
|
- tracks/rust/exercises/anagram/Cargo.lock
|
|
7376
7390
|
- tracks/rust/exercises/anagram/Cargo.toml
|
|
7377
7391
|
- tracks/rust/exercises/anagram/example.rs
|
|
7392
|
+
- tracks/rust/exercises/anagram/src/lib.rs
|
|
7378
7393
|
- tracks/rust/exercises/anagram/tests/anagram.rs
|
|
7379
7394
|
- tracks/rust/exercises/atbash-cipher/Cargo.lock
|
|
7380
7395
|
- tracks/rust/exercises/atbash-cipher/Cargo.toml
|
|
7381
7396
|
- tracks/rust/exercises/atbash-cipher/example.rs
|
|
7397
|
+
- tracks/rust/exercises/atbash-cipher/src/lib.rs
|
|
7382
7398
|
- tracks/rust/exercises/atbash-cipher/tests/atbash-cipher.rs
|
|
7383
7399
|
- tracks/rust/exercises/beer-song/.gitignore
|
|
7384
7400
|
- tracks/rust/exercises/beer-song/Cargo.lock
|
|
7385
7401
|
- tracks/rust/exercises/beer-song/Cargo.toml
|
|
7386
7402
|
- tracks/rust/exercises/beer-song/example.rs
|
|
7403
|
+
- tracks/rust/exercises/beer-song/src/lib.rs
|
|
7387
7404
|
- tracks/rust/exercises/beer-song/tests/beer-song.rs
|
|
7388
7405
|
- tracks/rust/exercises/bob/.gitignore
|
|
7389
7406
|
- tracks/rust/exercises/bob/Cargo.lock
|
|
7390
7407
|
- tracks/rust/exercises/bob/Cargo.toml
|
|
7391
7408
|
- tracks/rust/exercises/bob/example.rs
|
|
7409
|
+
- tracks/rust/exercises/bob/src/lib.rs
|
|
7392
7410
|
- tracks/rust/exercises/bob/tests/bob.rs
|
|
7393
7411
|
- tracks/rust/exercises/bowling/.gitignore
|
|
7394
7412
|
- tracks/rust/exercises/bowling/Cargo.toml
|
|
7395
7413
|
- tracks/rust/exercises/bowling/example.rs
|
|
7414
|
+
- tracks/rust/exercises/bowling/src/lib.rs
|
|
7396
7415
|
- tracks/rust/exercises/bowling/tests/bowling.rs
|
|
7397
7416
|
- tracks/rust/exercises/bracket-push/.gitignore
|
|
7398
7417
|
- tracks/rust/exercises/bracket-push/Cargo.lock
|
|
7399
7418
|
- tracks/rust/exercises/bracket-push/Cargo.toml
|
|
7400
7419
|
- tracks/rust/exercises/bracket-push/HINTS.md
|
|
7401
7420
|
- tracks/rust/exercises/bracket-push/example.rs
|
|
7421
|
+
- tracks/rust/exercises/bracket-push/src/lib.rs
|
|
7402
7422
|
- tracks/rust/exercises/bracket-push/tests/bracket-push.rs
|
|
7403
7423
|
- tracks/rust/exercises/circular-buffer/.gitignore
|
|
7404
7424
|
- tracks/rust/exercises/circular-buffer/Cargo.lock
|
|
7405
7425
|
- tracks/rust/exercises/circular-buffer/Cargo.toml
|
|
7406
7426
|
- tracks/rust/exercises/circular-buffer/example.rs
|
|
7427
|
+
- tracks/rust/exercises/circular-buffer/src/lib.rs
|
|
7407
7428
|
- tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs
|
|
7408
7429
|
- tracks/rust/exercises/custom-set/.gitignore
|
|
7409
7430
|
- tracks/rust/exercises/custom-set/Cargo.lock
|
|
7410
7431
|
- tracks/rust/exercises/custom-set/Cargo.toml
|
|
7411
7432
|
- tracks/rust/exercises/custom-set/example.rs
|
|
7433
|
+
- tracks/rust/exercises/custom-set/src/lib.rs
|
|
7412
7434
|
- tracks/rust/exercises/custom-set/tests/custom-set.rs
|
|
7413
7435
|
- tracks/rust/exercises/difference-of-squares/.gitignore
|
|
7414
7436
|
- tracks/rust/exercises/difference-of-squares/Cargo.lock
|
|
7415
7437
|
- tracks/rust/exercises/difference-of-squares/Cargo.toml
|
|
7416
7438
|
- tracks/rust/exercises/difference-of-squares/example.rs
|
|
7439
|
+
- tracks/rust/exercises/difference-of-squares/src/lib.rs
|
|
7417
7440
|
- tracks/rust/exercises/difference-of-squares/tests/difference-of-square.rs
|
|
7418
7441
|
- tracks/rust/exercises/dominoes/.gitignore
|
|
7419
7442
|
- tracks/rust/exercises/dominoes/Cargo.lock
|
|
7420
7443
|
- tracks/rust/exercises/dominoes/Cargo.toml
|
|
7421
7444
|
- tracks/rust/exercises/dominoes/example.rs
|
|
7445
|
+
- tracks/rust/exercises/dominoes/src/lib.rs
|
|
7422
7446
|
- tracks/rust/exercises/dominoes/tests/dominoes.rs
|
|
7423
7447
|
- tracks/rust/exercises/etl/.gitignore
|
|
7424
7448
|
- tracks/rust/exercises/etl/Cargo.lock
|
|
7425
7449
|
- tracks/rust/exercises/etl/Cargo.toml
|
|
7426
7450
|
- tracks/rust/exercises/etl/example.rs
|
|
7451
|
+
- tracks/rust/exercises/etl/src/lib.rs
|
|
7427
7452
|
- tracks/rust/exercises/etl/tests/etl.rs
|
|
7428
7453
|
- tracks/rust/exercises/forth/.gitignore
|
|
7429
7454
|
- tracks/rust/exercises/forth/Cargo.lock
|
|
@@ -7435,6 +7460,7 @@ files:
|
|
|
7435
7460
|
- tracks/rust/exercises/gigasecond/Cargo.lock
|
|
7436
7461
|
- tracks/rust/exercises/gigasecond/Cargo.toml
|
|
7437
7462
|
- tracks/rust/exercises/gigasecond/example.rs
|
|
7463
|
+
- tracks/rust/exercises/gigasecond/src/lib.rs
|
|
7438
7464
|
- tracks/rust/exercises/gigasecond/tests/gigasecond.rs
|
|
7439
7465
|
- tracks/rust/exercises/grade-school/.gitignore
|
|
7440
7466
|
- tracks/rust/exercises/grade-school/Cargo.lock
|
|
@@ -7451,6 +7477,7 @@ files:
|
|
|
7451
7477
|
- tracks/rust/exercises/hamming/Cargo.lock
|
|
7452
7478
|
- tracks/rust/exercises/hamming/Cargo.toml
|
|
7453
7479
|
- tracks/rust/exercises/hamming/example.rs
|
|
7480
|
+
- tracks/rust/exercises/hamming/src/lib.rs
|
|
7454
7481
|
- tracks/rust/exercises/hamming/tests/hamming.rs
|
|
7455
7482
|
- tracks/rust/exercises/hello-world/.gitignore
|
|
7456
7483
|
- tracks/rust/exercises/hello-world/Cargo.lock
|
|
@@ -7463,47 +7490,56 @@ files:
|
|
|
7463
7490
|
- tracks/rust/exercises/hexadecimal/Cargo.lock
|
|
7464
7491
|
- tracks/rust/exercises/hexadecimal/Cargo.toml
|
|
7465
7492
|
- tracks/rust/exercises/hexadecimal/example.rs
|
|
7493
|
+
- tracks/rust/exercises/hexadecimal/src/lib.rs
|
|
7466
7494
|
- tracks/rust/exercises/hexadecimal/tests/hexadecimal.rs
|
|
7467
7495
|
- tracks/rust/exercises/largest-series-product/.gitignore
|
|
7468
7496
|
- tracks/rust/exercises/largest-series-product/Cargo.toml
|
|
7469
7497
|
- tracks/rust/exercises/largest-series-product/HINTS.md
|
|
7470
7498
|
- tracks/rust/exercises/largest-series-product/example.rs
|
|
7499
|
+
- tracks/rust/exercises/largest-series-product/src/lib.rs
|
|
7471
7500
|
- tracks/rust/exercises/largest-series-product/tests/largest-series-product.rs
|
|
7472
7501
|
- tracks/rust/exercises/leap/.gitignore
|
|
7473
7502
|
- tracks/rust/exercises/leap/Cargo.lock
|
|
7474
7503
|
- tracks/rust/exercises/leap/Cargo.toml
|
|
7475
7504
|
- tracks/rust/exercises/leap/example.rs
|
|
7505
|
+
- tracks/rust/exercises/leap/src/lib.rs
|
|
7476
7506
|
- tracks/rust/exercises/leap/tests/leap.rs
|
|
7477
7507
|
- tracks/rust/exercises/luhn-from/.gitignore
|
|
7478
7508
|
- tracks/rust/exercises/luhn-from/Cargo.toml
|
|
7479
7509
|
- tracks/rust/exercises/luhn-from/description.md
|
|
7480
7510
|
- tracks/rust/exercises/luhn-from/example.rs
|
|
7481
7511
|
- tracks/rust/exercises/luhn-from/metadata.yml
|
|
7512
|
+
- tracks/rust/exercises/luhn-from/src/lib.rs
|
|
7482
7513
|
- tracks/rust/exercises/luhn-from/tests/luhn-from.rs
|
|
7483
7514
|
- tracks/rust/exercises/luhn-trait/.gitignore
|
|
7484
7515
|
- tracks/rust/exercises/luhn-trait/Cargo.toml
|
|
7485
7516
|
- tracks/rust/exercises/luhn-trait/description.md
|
|
7486
7517
|
- tracks/rust/exercises/luhn-trait/example.rs
|
|
7487
7518
|
- tracks/rust/exercises/luhn-trait/metadata.yml
|
|
7519
|
+
- tracks/rust/exercises/luhn-trait/src/lib.rs
|
|
7488
7520
|
- tracks/rust/exercises/luhn-trait/tests/luhn-trait.rs
|
|
7489
7521
|
- tracks/rust/exercises/luhn/.gitignore
|
|
7490
7522
|
- tracks/rust/exercises/luhn/Cargo.toml
|
|
7491
7523
|
- tracks/rust/exercises/luhn/example.rs
|
|
7524
|
+
- tracks/rust/exercises/luhn/src/lib.rs
|
|
7492
7525
|
- tracks/rust/exercises/luhn/tests/luhn.rs
|
|
7493
7526
|
- tracks/rust/exercises/minesweeper/.gitignore
|
|
7494
7527
|
- tracks/rust/exercises/minesweeper/Cargo.lock
|
|
7495
7528
|
- tracks/rust/exercises/minesweeper/Cargo.toml
|
|
7496
7529
|
- tracks/rust/exercises/minesweeper/example.rs
|
|
7530
|
+
- tracks/rust/exercises/minesweeper/src/lib.rs
|
|
7497
7531
|
- tracks/rust/exercises/minesweeper/tests/minesweeper.rs
|
|
7498
7532
|
- tracks/rust/exercises/nucleotide-codons/.gitignore
|
|
7499
7533
|
- tracks/rust/exercises/nucleotide-codons/Cargo.lock
|
|
7500
7534
|
- tracks/rust/exercises/nucleotide-codons/Cargo.toml
|
|
7501
7535
|
- tracks/rust/exercises/nucleotide-codons/example.rs
|
|
7536
|
+
- tracks/rust/exercises/nucleotide-codons/src/lib.rs
|
|
7502
7537
|
- tracks/rust/exercises/nucleotide-codons/tests/codons.rs
|
|
7503
7538
|
- tracks/rust/exercises/nucleotide-count/.gitignore
|
|
7504
7539
|
- tracks/rust/exercises/nucleotide-count/Cargo.lock
|
|
7505
7540
|
- tracks/rust/exercises/nucleotide-count/Cargo.toml
|
|
7506
7541
|
- tracks/rust/exercises/nucleotide-count/example.rs
|
|
7542
|
+
- tracks/rust/exercises/nucleotide-count/src/lib.rs
|
|
7507
7543
|
- tracks/rust/exercises/nucleotide-count/tests/nucleotide-count.rs
|
|
7508
7544
|
- tracks/rust/exercises/ocr-numbers/.gitignore
|
|
7509
7545
|
- tracks/rust/exercises/ocr-numbers/Cargo.lock
|
|
@@ -7515,6 +7551,7 @@ files:
|
|
|
7515
7551
|
- tracks/rust/exercises/pangram/Cargo.lock
|
|
7516
7552
|
- tracks/rust/exercises/pangram/Cargo.toml
|
|
7517
7553
|
- tracks/rust/exercises/pangram/example.rs
|
|
7554
|
+
- tracks/rust/exercises/pangram/src/lib.rs
|
|
7518
7555
|
- tracks/rust/exercises/pangram/tests/pangram.rs
|
|
7519
7556
|
- tracks/rust/exercises/parallel-letter-frequency/.gitignore
|
|
7520
7557
|
- tracks/rust/exercises/parallel-letter-frequency/Cargo.lock
|
|
@@ -7522,6 +7559,7 @@ files:
|
|
|
7522
7559
|
- tracks/rust/exercises/parallel-letter-frequency/HINTS.md
|
|
7523
7560
|
- tracks/rust/exercises/parallel-letter-frequency/benches/benchmark.rs
|
|
7524
7561
|
- tracks/rust/exercises/parallel-letter-frequency/example.rs
|
|
7562
|
+
- tracks/rust/exercises/parallel-letter-frequency/src/lib.rs
|
|
7525
7563
|
- tracks/rust/exercises/parallel-letter-frequency/tests/parallel-letter-frequency.rs
|
|
7526
7564
|
- tracks/rust/exercises/pascals-triangle/.gitignore
|
|
7527
7565
|
- tracks/rust/exercises/pascals-triangle/Cargo.toml
|
|
@@ -7532,20 +7570,24 @@ files:
|
|
|
7532
7570
|
- tracks/rust/exercises/phone-number/Cargo.lock
|
|
7533
7571
|
- tracks/rust/exercises/phone-number/Cargo.toml
|
|
7534
7572
|
- tracks/rust/exercises/phone-number/example.rs
|
|
7573
|
+
- tracks/rust/exercises/phone-number/src/lib.rs
|
|
7535
7574
|
- tracks/rust/exercises/phone-number/tests/phone-number.rs
|
|
7536
7575
|
- tracks/rust/exercises/protein-translation/Cargo.lock
|
|
7537
7576
|
- tracks/rust/exercises/protein-translation/Cargo.toml
|
|
7538
7577
|
- tracks/rust/exercises/protein-translation/example.rs
|
|
7578
|
+
- tracks/rust/exercises/protein-translation/src/lib.rs
|
|
7539
7579
|
- tracks/rust/exercises/protein-translation/tests/proteins.rs
|
|
7540
7580
|
- tracks/rust/exercises/queen-attack/.gitignore
|
|
7541
7581
|
- tracks/rust/exercises/queen-attack/Cargo.lock
|
|
7542
7582
|
- tracks/rust/exercises/queen-attack/Cargo.toml
|
|
7543
7583
|
- tracks/rust/exercises/queen-attack/example.rs
|
|
7584
|
+
- tracks/rust/exercises/queen-attack/src/lib.rs
|
|
7544
7585
|
- tracks/rust/exercises/queen-attack/tests/queen-attack.rs
|
|
7545
7586
|
- tracks/rust/exercises/raindrops/.gitignore
|
|
7546
7587
|
- tracks/rust/exercises/raindrops/Cargo.lock
|
|
7547
7588
|
- tracks/rust/exercises/raindrops/Cargo.toml
|
|
7548
7589
|
- tracks/rust/exercises/raindrops/example.rs
|
|
7590
|
+
- tracks/rust/exercises/raindrops/src/lib.rs
|
|
7549
7591
|
- tracks/rust/exercises/raindrops/tests/raindrops.rs
|
|
7550
7592
|
- tracks/rust/exercises/react/Cargo.lock
|
|
7551
7593
|
- tracks/rust/exercises/react/Cargo.toml
|
|
@@ -7556,16 +7598,19 @@ files:
|
|
|
7556
7598
|
- tracks/rust/exercises/rectangles/Cargo.lock
|
|
7557
7599
|
- tracks/rust/exercises/rectangles/Cargo.toml
|
|
7558
7600
|
- tracks/rust/exercises/rectangles/example.rs
|
|
7601
|
+
- tracks/rust/exercises/rectangles/src/lib.rs
|
|
7559
7602
|
- tracks/rust/exercises/rectangles/tests/rectangles.rs
|
|
7560
7603
|
- tracks/rust/exercises/rna-transcription/.gitignore
|
|
7561
7604
|
- tracks/rust/exercises/rna-transcription/Cargo.lock
|
|
7562
7605
|
- tracks/rust/exercises/rna-transcription/Cargo.toml
|
|
7563
7606
|
- tracks/rust/exercises/rna-transcription/example.rs
|
|
7607
|
+
- tracks/rust/exercises/rna-transcription/src/lib.rs
|
|
7564
7608
|
- tracks/rust/exercises/rna-transcription/tests/rna-transcription.rs
|
|
7565
7609
|
- tracks/rust/exercises/robot-name/.gitignore
|
|
7566
7610
|
- tracks/rust/exercises/robot-name/Cargo.lock
|
|
7567
7611
|
- tracks/rust/exercises/robot-name/Cargo.toml
|
|
7568
7612
|
- tracks/rust/exercises/robot-name/example.rs
|
|
7613
|
+
- tracks/rust/exercises/robot-name/src/lib.rs
|
|
7569
7614
|
- tracks/rust/exercises/robot-name/tests/robot-name.rs
|
|
7570
7615
|
- tracks/rust/exercises/robot-simulator/.gitignore
|
|
7571
7616
|
- tracks/rust/exercises/robot-simulator/Cargo.lock
|
|
@@ -7577,20 +7622,24 @@ files:
|
|
|
7577
7622
|
- tracks/rust/exercises/roman-numerals/Cargo.lock
|
|
7578
7623
|
- tracks/rust/exercises/roman-numerals/Cargo.toml
|
|
7579
7624
|
- tracks/rust/exercises/roman-numerals/example.rs
|
|
7625
|
+
- tracks/rust/exercises/roman-numerals/src/lib.rs
|
|
7580
7626
|
- tracks/rust/exercises/roman-numerals/tests/roman-numerals.rs
|
|
7581
7627
|
- tracks/rust/exercises/rotational-cipher/Cargo.lock
|
|
7582
7628
|
- tracks/rust/exercises/rotational-cipher/Cargo.toml
|
|
7583
7629
|
- tracks/rust/exercises/rotational-cipher/example.rs
|
|
7630
|
+
- tracks/rust/exercises/rotational-cipher/src/lib.rs
|
|
7584
7631
|
- tracks/rust/exercises/rotational-cipher/tests/rotational-cipher.rs
|
|
7585
7632
|
- tracks/rust/exercises/scrabble-score/.gitignore
|
|
7586
7633
|
- tracks/rust/exercises/scrabble-score/Cargo.lock
|
|
7587
7634
|
- tracks/rust/exercises/scrabble-score/Cargo.toml
|
|
7588
7635
|
- tracks/rust/exercises/scrabble-score/example.rs
|
|
7636
|
+
- tracks/rust/exercises/scrabble-score/src/lib.rs
|
|
7589
7637
|
- tracks/rust/exercises/scrabble-score/tests/scrabble-score.rs
|
|
7590
7638
|
- tracks/rust/exercises/sieve/.gitignore
|
|
7591
7639
|
- tracks/rust/exercises/sieve/Cargo.lock
|
|
7592
7640
|
- tracks/rust/exercises/sieve/Cargo.toml
|
|
7593
7641
|
- tracks/rust/exercises/sieve/example.rs
|
|
7642
|
+
- tracks/rust/exercises/sieve/src/lib.rs
|
|
7594
7643
|
- tracks/rust/exercises/sieve/tests/sieve.rs
|
|
7595
7644
|
- tracks/rust/exercises/space-age/.gitignore
|
|
7596
7645
|
- tracks/rust/exercises/space-age/Cargo.lock
|
|
@@ -7603,21 +7652,25 @@ files:
|
|
|
7603
7652
|
- tracks/rust/exercises/sublist/Cargo.lock
|
|
7604
7653
|
- tracks/rust/exercises/sublist/Cargo.toml
|
|
7605
7654
|
- tracks/rust/exercises/sublist/example.rs
|
|
7655
|
+
- tracks/rust/exercises/sublist/src/lib.rs
|
|
7606
7656
|
- tracks/rust/exercises/sublist/tests/sublist.rs
|
|
7607
7657
|
- tracks/rust/exercises/sum-of-multiples/.gitignore
|
|
7608
7658
|
- tracks/rust/exercises/sum-of-multiples/Cargo.toml
|
|
7609
7659
|
- tracks/rust/exercises/sum-of-multiples/example.rs
|
|
7660
|
+
- tracks/rust/exercises/sum-of-multiples/src/lib.rs
|
|
7610
7661
|
- tracks/rust/exercises/sum-of-multiples/tests/sum-of-multiples.rs
|
|
7611
7662
|
- tracks/rust/exercises/tournament/.gitignore
|
|
7612
7663
|
- tracks/rust/exercises/tournament/Cargo.lock
|
|
7613
7664
|
- tracks/rust/exercises/tournament/Cargo.toml
|
|
7614
7665
|
- tracks/rust/exercises/tournament/example.rs
|
|
7666
|
+
- tracks/rust/exercises/tournament/src/lib.rs
|
|
7615
7667
|
- tracks/rust/exercises/tournament/tests/tournament.rs
|
|
7616
7668
|
- tracks/rust/exercises/triangle/.gitignore
|
|
7617
7669
|
- tracks/rust/exercises/triangle/Cargo.toml
|
|
7618
7670
|
- tracks/rust/exercises/triangle/HINTS.md
|
|
7619
7671
|
- tracks/rust/exercises/triangle/example.rs
|
|
7620
7672
|
- tracks/rust/exercises/triangle/float_example.rs
|
|
7673
|
+
- tracks/rust/exercises/triangle/src/lib.rs
|
|
7621
7674
|
- tracks/rust/exercises/triangle/tests/triangle.rs
|
|
7622
7675
|
- tracks/rust/exercises/variable-length-quantity/.gitignore
|
|
7623
7676
|
- tracks/rust/exercises/variable-length-quantity/Cargo.lock
|
|
@@ -7629,11 +7682,13 @@ files:
|
|
|
7629
7682
|
- tracks/rust/exercises/word-count/Cargo.lock
|
|
7630
7683
|
- tracks/rust/exercises/word-count/Cargo.toml
|
|
7631
7684
|
- tracks/rust/exercises/word-count/example.rs
|
|
7685
|
+
- tracks/rust/exercises/word-count/src/lib.rs
|
|
7632
7686
|
- tracks/rust/exercises/word-count/tests/word-count.rs
|
|
7633
7687
|
- tracks/rust/exercises/wordy/.gitignore
|
|
7634
7688
|
- tracks/rust/exercises/wordy/Cargo.lock
|
|
7635
7689
|
- tracks/rust/exercises/wordy/Cargo.toml
|
|
7636
7690
|
- tracks/rust/exercises/wordy/example.rs
|
|
7691
|
+
- tracks/rust/exercises/wordy/src/lib.rs
|
|
7637
7692
|
- tracks/rust/exercises/wordy/tests/wordy.rs
|
|
7638
7693
|
- tracks/rust/img/icon.png
|
|
7639
7694
|
- tracks/rust/problem_ordering.md
|