trackler 2.2.1.50 → 2.2.1.51

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/c/README.md +10 -0
  4. data/tracks/c/exercises/raindrops/src/example.c +16 -18
  5. data/tracks/c/exercises/raindrops/src/example.h +1 -1
  6. data/tracks/c/exercises/raindrops/test/test_raindrops.c +25 -54
  7. data/tracks/clojure/config.json +256 -382
  8. data/tracks/clojure/config/maintainers.json +19 -19
  9. data/tracks/coq/docs/SNIPPET.txt +12 -0
  10. data/tracks/csharp/config.json +677 -678
  11. data/tracks/csharp/config/maintainers.json +27 -27
  12. data/tracks/csharp/docs/GENERATORS.md +2 -0
  13. data/tracks/csharp/exercises/bowling/BowlingTest.cs +163 -87
  14. data/tracks/csharp/exercises/bowling/Example.cs +47 -8
  15. data/tracks/csharp/generators/Exercises/Bowling.cs +116 -0
  16. data/tracks/elisp/config.json +84 -126
  17. data/tracks/elisp/config/maintainers.json +7 -7
  18. data/tracks/elixir/config.json +397 -513
  19. data/tracks/elixir/config/maintainers.json +15 -15
  20. data/tracks/erlang/.gitmodules +3 -0
  21. data/tracks/erlang/.travis.yml +1 -0
  22. data/tracks/erlang/exercises/hello-world/test/hello_world_tests.erl +1 -1
  23. data/tracks/erlang/testgen/.gitignore +19 -0
  24. data/tracks/erlang/testgen/LICENSE +21 -0
  25. data/tracks/erlang/testgen/README.md +14 -0
  26. data/tracks/erlang/testgen/include/tgen.hrl +6 -0
  27. data/tracks/erlang/testgen/rebar.config +15 -0
  28. data/tracks/erlang/testgen/src/testgen.app.src +15 -0
  29. data/tracks/erlang/testgen/src/testgen.erl +41 -0
  30. data/tracks/erlang/testgen/src/tg_file_tools.erl +14 -0
  31. data/tracks/erlang/testgen/src/tg_git_tools.erl +20 -0
  32. data/tracks/erlang/testgen/src/tgen.erl +126 -0
  33. data/tracks/erlang/testgen/src/tgen_hello-world.erl +35 -0
  34. data/tracks/fsharp/config.json +643 -643
  35. data/tracks/fsharp/config/maintainers.json +15 -15
  36. data/tracks/groovy/config.json +97 -101
  37. data/tracks/groovy/config/maintainers.json +7 -7
  38. data/tracks/haxe/docs/INSTALLATION.md +2 -0
  39. data/tracks/haxe/docs/SNIPPET.txt +7 -0
  40. data/tracks/haxe/docs/TESTS.md +24 -0
  41. data/tracks/idris/config.json +35 -37
  42. data/tracks/idris/config/maintainers.json +7 -7
  43. data/tracks/java/config.json +122 -122
  44. data/tracks/javascript/exercises/palindrome-products/README.md +6 -6
  45. data/tracks/kotlin/config.json +264 -383
  46. data/tracks/kotlin/config/maintainers.json +15 -15
  47. data/tracks/lfe/config.json +126 -188
  48. data/tracks/lfe/config/maintainers.json +7 -7
  49. data/tracks/lua/exercises/etl/README.md +1 -1
  50. data/tracks/lua/exercises/ocr-numbers/README.md +1 -1
  51. data/tracks/lua/exercises/pascals-triangle/README.md +1 -1
  52. data/tracks/lua/exercises/pov/README.md +1 -1
  53. data/tracks/lua/exercises/react/react_spec.lua +1 -1
  54. data/tracks/lua/exercises/rna-transcription/README.md +1 -1
  55. data/tracks/objective-c/config.json +8 -8
  56. data/tracks/objective-c/config/maintainers.json +15 -15
  57. data/tracks/perl6/docs/EXERCISE_README_INSERT.md +9 -5
  58. data/tracks/perl6/exercises/accumulate/README.md +9 -5
  59. data/tracks/perl6/exercises/all-your-base/README.md +9 -5
  60. data/tracks/perl6/exercises/allergies/README.md +9 -5
  61. data/tracks/perl6/exercises/anagram/README.md +9 -5
  62. data/tracks/perl6/exercises/atbash-cipher/README.md +9 -5
  63. data/tracks/perl6/exercises/binary/README.md +9 -5
  64. data/tracks/perl6/exercises/bob/README.md +9 -5
  65. data/tracks/perl6/exercises/clock/README.md +9 -5
  66. data/tracks/perl6/exercises/flatten-array/README.md +9 -5
  67. data/tracks/perl6/exercises/grade-school/README.md +9 -5
  68. data/tracks/perl6/exercises/grains/README.md +9 -5
  69. data/tracks/perl6/exercises/hello-world/README.md +9 -5
  70. data/tracks/perl6/exercises/leap/README.md +9 -5
  71. data/tracks/perl6/exercises/linked-list/README.md +9 -5
  72. data/tracks/perl6/exercises/luhn/README.md +9 -5
  73. data/tracks/perl6/exercises/phone-number/README.md +9 -5
  74. data/tracks/perl6/exercises/raindrops/README.md +9 -5
  75. data/tracks/perl6/exercises/rna-transcription/README.md +10 -6
  76. data/tracks/perl6/exercises/robot-name/README.md +9 -5
  77. data/tracks/perl6/exercises/scrabble-score/README.md +9 -5
  78. data/tracks/perl6/exercises/space-age/README.md +10 -7
  79. data/tracks/perl6/exercises/trinary/README.md +9 -5
  80. data/tracks/perl6/exercises/word-count/README.md +9 -5
  81. data/tracks/perl6/exercises/wordy/README.md +9 -5
  82. data/tracks/r/config.json +136 -138
  83. data/tracks/r/config/maintainers.json +15 -15
  84. data/tracks/racket/config.json +105 -151
  85. data/tracks/racket/config/maintainers.json +15 -15
  86. data/tracks/rust/.travis.yml +1 -0
  87. data/tracks/rust/_test/count-ignores.sh +16 -0
  88. data/tracks/rust/exercises/all-your-base/tests/all-your-base.rs +36 -36
  89. data/tracks/rust/exercises/alphametics/tests/alphametics.rs +2 -2
  90. data/tracks/rust/exercises/bowling/tests/bowling.rs +14 -14
  91. data/tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs +16 -16
  92. data/tracks/rust/exercises/hamming/tests/hamming.rs +5 -5
  93. data/tracks/rust/exercises/largest-series-product/tests/largest-series-product.rs +12 -12
  94. data/tracks/rust/exercises/nucleotide-count/tests/nucleotide-count.rs +4 -4
  95. data/tracks/rust/exercises/ocr-numbers/tests/ocr-numbers.rs +15 -15
  96. data/tracks/rust/exercises/pascals-triangle/tests/pascals-triangle.rs +1 -1
  97. data/tracks/rust/exercises/protein-translation/tests/proteins.rs +6 -6
  98. data/tracks/rust/exercises/react/tests/react.rs +11 -11
  99. data/tracks/rust/exercises/variable-length-quantity/tests/variable-length-quantity.rs +13 -15
  100. data/tracks/rust/exercises/wordy/tests/wordy.rs +14 -14
  101. data/tracks/swift/config.json +447 -449
  102. data/tracks/swift/config/maintainers.json +15 -15
  103. data/tracks/typescript/config.json +294 -295
  104. data/tracks/typescript/config/maintainers.json +11 -11
  105. data/tracks/vbnet/docs/SNIPPET.txt +5 -0
  106. metadata +21 -2
@@ -2,6 +2,7 @@
2
2
  language: rust
3
3
  script:
4
4
  - "./_test/check-exercises.sh"
5
+ - "sh ./_test/count-ignores.sh"
5
6
  - "./bin/fetch-configlet"
6
7
  - "./bin/configlet lint ."
7
8
  sudo: false
@@ -0,0 +1,16 @@
1
+ #!/bin/sh
2
+
3
+ dir=$(dirname $(dirname $0))
4
+ exitcode=0
5
+
6
+ for t in $dir/exercises/*/tests/*.rs; do
7
+ tests=$(grep "^\s*\#\[test\]" $t | wc -l | tr -d '[:space:]')
8
+ ignores=$(grep "^\s*\#\[ignore\]" $t | wc -l | tr -d '[:space:]')
9
+ want_ignores=$(expr $tests - 1)
10
+ if [ "$ignores" != "$want_ignores" ]; then
11
+ echo "\033[1;31m$t: Has $tests tests and $ignores ignores (should be $want_ignores)\033[0m"
12
+ exitcode=1
13
+ fi
14
+ done
15
+
16
+ exit $exitcode
@@ -5,9 +5,9 @@ fn single_bit_one_to_decimal() {
5
5
  let input_base = 2;
6
6
  let input_digits = &[1];
7
7
  let output_base = 10;
8
- let output_digits = &[1];
9
- assert_eq!(ayb::convert(input_digits, input_base, output_base).unwrap().as_slice(),
10
- output_digits);
8
+ let output_digits = vec![1];
9
+ assert_eq!(ayb::convert(input_digits, input_base, output_base),
10
+ Ok(output_digits));
11
11
  }
12
12
 
13
13
  #[test]
@@ -16,9 +16,9 @@ fn binary_to_single_decimal() {
16
16
  let input_base = 2;
17
17
  let input_digits = &[1, 0, 1];
18
18
  let output_base = 10;
19
- let output_digits = &[5];
20
- assert_eq!(ayb::convert(input_digits, input_base, output_base).unwrap().as_slice(),
21
- output_digits);
19
+ let output_digits = vec![5];
20
+ assert_eq!(ayb::convert(input_digits, input_base, output_base),
21
+ Ok(output_digits));
22
22
  }
23
23
 
24
24
  #[test]
@@ -27,9 +27,9 @@ fn single_decimal_to_binary() {
27
27
  let input_base = 10;
28
28
  let input_digits = &[5];
29
29
  let output_base = 2;
30
- let output_digits = &[1, 0, 1];
31
- assert_eq!(ayb::convert(input_digits, input_base, output_base).unwrap().as_slice(),
32
- output_digits);
30
+ let output_digits = vec![1, 0, 1];
31
+ assert_eq!(ayb::convert(input_digits, input_base, output_base),
32
+ Ok(output_digits));
33
33
  }
34
34
 
35
35
  #[test]
@@ -38,9 +38,9 @@ fn binary_to_multiple_decimal() {
38
38
  let input_base = 2;
39
39
  let input_digits = &[1, 0, 1, 0, 1, 0];
40
40
  let output_base = 10;
41
- let output_digits = &[4, 2];
42
- assert_eq!(ayb::convert(input_digits, input_base, output_base).unwrap().as_slice(),
43
- output_digits);
41
+ let output_digits = vec![4, 2];
42
+ assert_eq!(ayb::convert(input_digits, input_base, output_base),
43
+ Ok(output_digits));
44
44
  }
45
45
 
46
46
  #[test]
@@ -49,9 +49,9 @@ fn decimal_to_binary() {
49
49
  let input_base = 10;
50
50
  let input_digits = &[4, 2];
51
51
  let output_base = 2;
52
- let output_digits = &[1, 0, 1, 0, 1, 0];
53
- assert_eq!(ayb::convert(input_digits, input_base, output_base).unwrap().as_slice(),
54
- output_digits);
52
+ let output_digits = vec![1, 0, 1, 0, 1, 0];
53
+ assert_eq!(ayb::convert(input_digits, input_base, output_base),
54
+ Ok(output_digits));
55
55
  }
56
56
 
57
57
  #[test]
@@ -60,9 +60,9 @@ fn trinary_to_hexadecimal() {
60
60
  let input_base = 3;
61
61
  let input_digits = &[1, 1, 2, 0];
62
62
  let output_base = 16;
63
- let output_digits = &[2, 10];
64
- assert_eq!(ayb::convert(input_digits, input_base, output_base).unwrap().as_slice(),
65
- output_digits);
63
+ let output_digits = vec![2, 10];
64
+ assert_eq!(ayb::convert(input_digits, input_base, output_base),
65
+ Ok(output_digits));
66
66
  }
67
67
 
68
68
  #[test]
@@ -71,9 +71,9 @@ fn hexadecimal_to_trinary() {
71
71
  let input_base = 16;
72
72
  let input_digits = &[2, 10];
73
73
  let output_base = 3;
74
- let output_digits = &[1, 1, 2, 0];
75
- assert_eq!(ayb::convert(input_digits, input_base, output_base).unwrap().as_slice(),
76
- output_digits);
74
+ let output_digits = vec![1, 1, 2, 0];
75
+ assert_eq!(ayb::convert(input_digits, input_base, output_base),
76
+ Ok(output_digits));
77
77
  }
78
78
 
79
79
  #[test]
@@ -82,9 +82,9 @@ fn fifteen_bit_integer() {
82
82
  let input_base = 97;
83
83
  let input_digits = &[3, 46, 60];
84
84
  let output_base = 73;
85
- let output_digits = &[6, 10, 45];
86
- assert_eq!(ayb::convert(input_digits, input_base, output_base).unwrap().as_slice(),
87
- output_digits);
85
+ let output_digits = vec![6, 10, 45];
86
+ assert_eq!(ayb::convert(input_digits, input_base, output_base),
87
+ Ok(output_digits));
88
88
  }
89
89
 
90
90
  #[test]
@@ -93,9 +93,9 @@ fn empty_list() {
93
93
  let input_base = 2;
94
94
  let input_digits = &[];
95
95
  let output_base = 10;
96
- let output_digits = &[];
97
- assert_eq!(ayb::convert(input_digits, input_base, output_base).unwrap().as_slice(),
98
- output_digits);
96
+ let output_digits = vec![];
97
+ assert_eq!(ayb::convert(input_digits, input_base, output_base),
98
+ Ok(output_digits));
99
99
  }
100
100
 
101
101
  #[test]
@@ -104,9 +104,9 @@ fn single_zero() {
104
104
  let input_base = 10;
105
105
  let input_digits = &[0];
106
106
  let output_base = 2;
107
- let output_digits = &[];
108
- assert_eq!(ayb::convert(input_digits, input_base, output_base).unwrap().as_slice(),
109
- output_digits);
107
+ let output_digits = vec![];
108
+ assert_eq!(ayb::convert(input_digits, input_base, output_base),
109
+ Ok(output_digits));
110
110
  }
111
111
 
112
112
  #[test]
@@ -115,9 +115,9 @@ fn multiple_zeros() {
115
115
  let input_base = 10;
116
116
  let input_digits = &[0, 0, 0];
117
117
  let output_base = 2;
118
- let output_digits = &[];
119
- assert_eq!(ayb::convert(input_digits, input_base, output_base).unwrap().as_slice(),
120
- output_digits);
118
+ let output_digits = vec![];
119
+ assert_eq!(ayb::convert(input_digits, input_base, output_base),
120
+ Ok(output_digits));
121
121
  }
122
122
 
123
123
  #[test]
@@ -126,9 +126,9 @@ fn leading_zeros() {
126
126
  let input_base = 7;
127
127
  let input_digits = &[0, 6, 0];
128
128
  let output_base = 10;
129
- let output_digits = &[4, 2];
130
- assert_eq!(ayb::convert(input_digits, input_base, output_base).unwrap().as_slice(),
131
- output_digits);
129
+ let output_digits = vec![4, 2];
130
+ assert_eq!(ayb::convert(input_digits, input_base, output_base),
131
+ Ok(output_digits));
132
132
  }
133
133
 
134
134
  #[test]
@@ -2,9 +2,9 @@ extern crate alphametics;
2
2
  use std::collections::HashMap;
3
3
 
4
4
  fn assert_alphametic_solution_eq(puzzle: &str, solution: &[(char, u8)]) {
5
- let answer = alphametics::solve(puzzle).unwrap();
5
+ let answer = alphametics::solve(puzzle);
6
6
  let solution: HashMap<char, u8> = solution.iter().cloned().collect();
7
- assert_eq!(answer, solution);
7
+ assert_eq!(answer, Some(solution));
8
8
  }
9
9
 
10
10
  #[test]
@@ -72,7 +72,7 @@ fn twenty_zero_pin_rolls_scores_zero() {
72
72
  let _ = game.roll(0);
73
73
  }
74
74
 
75
- assert_eq!(game.score().unwrap(), 0);
75
+ assert_eq!(game.score(), Ok(0));
76
76
  }
77
77
 
78
78
  #[test]
@@ -85,7 +85,7 @@ fn ten_frames_without_a_strike_or_spare() {
85
85
  let _ = game.roll(6);
86
86
  }
87
87
 
88
- assert_eq!(game.score().unwrap(), 90);
88
+ assert_eq!(game.score(), Ok(90));
89
89
  }
90
90
 
91
91
  #[test]
@@ -100,7 +100,7 @@ fn spare_in_the_first_frame_followed_by_zeros() {
100
100
  let _ = game.roll(0);
101
101
  }
102
102
 
103
- assert_eq!(game.score().unwrap(), 10);
103
+ assert_eq!(game.score(), Ok(10));
104
104
  }
105
105
 
106
106
  #[test]
@@ -116,7 +116,7 @@ fn points_scored_in_the_roll_after_a_spare_are_counted_twice_as_a_bonus() {
116
116
  let _ = game.roll(0);
117
117
  }
118
118
 
119
- assert_eq!(game.score().unwrap(), 16);
119
+ assert_eq!(game.score(), Ok(16));
120
120
  }
121
121
 
122
122
  #[test]
@@ -134,7 +134,7 @@ fn consecutive_spares_each_get_a_one_roll_bonus() {
134
134
  let _ = game.roll(0);
135
135
  }
136
136
 
137
- assert_eq!(game.score().unwrap(), 31);
137
+ assert_eq!(game.score(), Ok(31));
138
138
  }
139
139
 
140
140
  #[test]
@@ -150,7 +150,7 @@ fn if_the_last_frame_is_a_spare_you_get_one_extra_roll_that_is_scored_once() {
150
150
  let _ = game.roll(5);
151
151
  let _ = game.roll(7);
152
152
 
153
- assert_eq!(game.score().unwrap(), 17);
153
+ assert_eq!(game.score(), Ok(17));
154
154
  }
155
155
 
156
156
  #[test]
@@ -164,7 +164,7 @@ fn a_strike_earns_ten_points_in_a_frame_with_a_single_roll() {
164
164
  let _ = game.roll(0);
165
165
  }
166
166
 
167
- assert_eq!(game.score().unwrap(), 10);
167
+ assert_eq!(game.score(), Ok(10));
168
168
  }
169
169
 
170
170
  #[test]
@@ -180,7 +180,7 @@ fn points_scored_in_the_two_rolls_after_a_strike_are_counted_twice_as_a_bonus()
180
180
  let _ = game.roll(0);
181
181
  }
182
182
 
183
- assert_eq!(game.score().unwrap(), 26);
183
+ assert_eq!(game.score(), Ok(26));
184
184
  }
185
185
 
186
186
  #[test]
@@ -198,7 +198,7 @@ fn consecutive_strikes_each_get_the_two_roll_bonus() {
198
198
  let _ = game.roll(0);
199
199
  }
200
200
 
201
- assert_eq!(game.score().unwrap(), 81);
201
+ assert_eq!(game.score(), Ok(81));
202
202
  }
203
203
 
204
204
  #[test]
@@ -214,7 +214,7 @@ fn a_strike_in_the_last_frame_earns_a_two_roll_bonus_that_is_counted_once() {
214
214
  let _ = game.roll(7);
215
215
  let _ = game.roll(1);
216
216
 
217
- assert_eq!(game.score().unwrap(), 18);
217
+ assert_eq!(game.score(), Ok(18));
218
218
  }
219
219
 
220
220
  #[test]
@@ -230,7 +230,7 @@ fn a_spare_with_the_two_roll_bonus_does_not_get_a_bonus_roll() {
230
230
  let _ = game.roll(7);
231
231
  let _ = game.roll(3);
232
232
 
233
- assert_eq!(game.score().unwrap(), 20);
233
+ assert_eq!(game.score(), Ok(20));
234
234
  }
235
235
 
236
236
  #[test]
@@ -246,7 +246,7 @@ fn strikes_with_the_two_roll_bonus_do_not_get_a_bonus_roll() {
246
246
  let _ = game.roll(10);
247
247
  let _ = game.roll(10);
248
248
 
249
- assert_eq!(game.score().unwrap(), 30);
249
+ assert_eq!(game.score(), Ok(30));
250
250
  }
251
251
 
252
252
  #[test]
@@ -262,7 +262,7 @@ fn a_strike_with_the_one_roll_bonus_after_a_spare_in_the_last_frame_does_not_get
262
262
  let _ = game.roll(3);
263
263
  let _ = game.roll(10);
264
264
 
265
- assert_eq!(game.score().unwrap(), 20);
265
+ assert_eq!(game.score(), Ok(20));
266
266
  }
267
267
 
268
268
  #[test]
@@ -274,7 +274,7 @@ fn all_strikes_is_a_perfect_score_of_300() {
274
274
  let _ = game.roll(10);
275
275
  }
276
276
 
277
- assert_eq!(game.score().unwrap(), 300);
277
+ assert_eq!(game.score(), Ok(300));
278
278
  }
279
279
 
280
280
  #[test]
@@ -16,7 +16,7 @@ mod tests {
16
16
  fn write_and_read_back_item() {
17
17
  let mut buffer = CircularBuffer::new(1);
18
18
  buffer.write('1');
19
- assert_eq!('1', buffer.read().unwrap());
19
+ assert_eq!(Ok('1'), buffer.read());
20
20
  assert_eq!(Err(Error::EmptyBuffer), buffer.read());
21
21
  }
22
22
 
@@ -26,8 +26,8 @@ mod tests {
26
26
  let mut buffer = CircularBuffer::new(2);
27
27
  buffer.write('1');
28
28
  buffer.write('2');
29
- assert_eq!('1', buffer.read().unwrap());
30
- assert_eq!('2', buffer.read().unwrap());
29
+ assert_eq!(Ok('1'), buffer.read());
30
+ assert_eq!(Ok('2'), buffer.read());
31
31
  assert_eq!(Err(Error::EmptyBuffer), buffer.read());
32
32
  }
33
33
 
@@ -36,9 +36,9 @@ mod tests {
36
36
  fn alternate_write_and_read() {
37
37
  let mut buffer = CircularBuffer::new(2);
38
38
  buffer.write('1');
39
- assert_eq!('1', buffer.read().unwrap());
39
+ assert_eq!(Ok('1'), buffer.read());
40
40
  buffer.write('2');
41
- assert_eq!('2', buffer.read().unwrap());
41
+ assert_eq!(Ok('2'), buffer.read());
42
42
  }
43
43
 
44
44
  #[test]
@@ -52,9 +52,9 @@ mod tests {
52
52
  assert_eq!(Err(Error::EmptyBuffer), buffer.read());
53
53
  buffer.write('1');
54
54
  buffer.write('2');
55
- assert_eq!('1', buffer.read().unwrap());
55
+ assert_eq!(Ok('1'), buffer.read());
56
56
  buffer.write('3');
57
- assert_eq!('2', buffer.read().unwrap());
57
+ assert_eq!(Ok('2'), buffer.read());
58
58
  }
59
59
 
60
60
  #[test]
@@ -72,8 +72,8 @@ mod tests {
72
72
  let mut buffer = CircularBuffer::new(2);
73
73
  buffer.write('1');
74
74
  buffer.overwrite('2');
75
- assert_eq!('1', buffer.read().unwrap());
76
- assert_eq!('2', buffer.read().unwrap());
75
+ assert_eq!(Ok('1'), buffer.read());
76
+ assert_eq!(Ok('2'), buffer.read());
77
77
  assert_eq!(Err(Error::EmptyBuffer), buffer.read());
78
78
  }
79
79
 
@@ -84,8 +84,8 @@ mod tests {
84
84
  buffer.write('1');
85
85
  buffer.write('2');
86
86
  buffer.overwrite('A');
87
- assert_eq!('2', buffer.read().unwrap());
88
- assert_eq!('A', buffer.read().unwrap());
87
+ assert_eq!(Ok('2'), buffer.read());
88
+ assert_eq!(Ok('A'), buffer.read());
89
89
  }
90
90
 
91
91
  #[test]
@@ -94,10 +94,10 @@ mod tests {
94
94
  let mut buffer = CircularBuffer::new(2);
95
95
  buffer.write(1);
96
96
  buffer.write(2);
97
- assert_eq!(1,buffer.read().unwrap());
97
+ assert_eq!(Ok(1), buffer.read());
98
98
  buffer.write(-1);
99
- assert_eq!(2,buffer.read().unwrap());
100
- assert_eq!(-1,buffer.read().unwrap());
99
+ assert_eq!(Ok(2), buffer.read());
100
+ assert_eq!(Ok(-1), buffer.read());
101
101
  assert_eq!(Err(Error::EmptyBuffer), buffer.read());
102
102
  }
103
103
 
@@ -107,7 +107,7 @@ mod tests {
107
107
  let mut buffer = CircularBuffer::new(2);
108
108
  buffer.write("".to_string());
109
109
  buffer.write("Testing".to_string());
110
- assert_eq!(0,buffer.read().unwrap().len());
111
- assert_eq!("Testing",buffer.read().unwrap());
110
+ assert_eq!(0, buffer.read().unwrap().len());
111
+ assert_eq!(Ok("Testing".to_string()), buffer.read());
112
112
  }
113
113
  }
@@ -2,31 +2,31 @@ extern crate hamming;
2
2
 
3
3
  #[test]
4
4
  fn test_no_difference_between_empty_strands() {
5
- assert_eq!(hamming::hamming_distance("", "").unwrap(), 0);
5
+ assert_eq!(hamming::hamming_distance("", ""), Ok(0));
6
6
  }
7
7
 
8
8
  #[test]
9
9
  #[ignore]
10
10
  fn test_no_difference_between_identical_strands() {
11
- assert_eq!(hamming::hamming_distance("GGACTGA", "GGACTGA").unwrap(), 0);
11
+ assert_eq!(hamming::hamming_distance("GGACTGA", "GGACTGA"), Ok(0));
12
12
  }
13
13
 
14
14
  #[test]
15
15
  #[ignore]
16
16
  fn test_complete_hamming_distance_in_small_strand() {
17
- assert_eq!(hamming::hamming_distance("ACT", "GGA").unwrap(), 3);
17
+ assert_eq!(hamming::hamming_distance("ACT", "GGA"), Ok(3));
18
18
  }
19
19
 
20
20
  #[test]
21
21
  #[ignore]
22
22
  fn test_small_hamming_distance_in_the_middle_somewhere() {
23
- assert_eq!(hamming::hamming_distance("GGACG", "GGTCG").unwrap(), 1);
23
+ assert_eq!(hamming::hamming_distance("GGACG", "GGTCG"), Ok(1));
24
24
  }
25
25
 
26
26
  #[test]
27
27
  #[ignore]
28
28
  fn test_larger_distance() {
29
- assert_eq!(hamming::hamming_distance("ACCAGGG", "ACTATGG").unwrap(), 2);
29
+ assert_eq!(hamming::hamming_distance("ACCAGGG", "ACTATGG"), Ok(2));
30
30
  }
31
31
 
32
32
  #[test]
@@ -10,56 +10,56 @@ fn return_is_a_result() {
10
10
  #[test]
11
11
  #[ignore]
12
12
  fn find_the_largest_product_when_span_equals_length() {
13
- assert_eq!(18, lsp("29", 2).unwrap());
13
+ assert_eq!(Ok(18), lsp("29", 2));
14
14
  }
15
15
 
16
16
  #[test]
17
17
  #[ignore]
18
18
  fn find_the_largest_product_of_two_with_numbers_in_order() {
19
- assert_eq!(72, lsp("0123456789", 2).unwrap());
19
+ assert_eq!(Ok(72), lsp("0123456789", 2));
20
20
  }
21
21
 
22
22
  #[test]
23
23
  #[ignore]
24
24
  fn find_the_largest_product_of_two_with_numbers_not_in_order() {
25
- assert_eq!(48, lsp("576802143", 2).unwrap());
25
+ assert_eq!(Ok(48), lsp("576802143", 2));
26
26
  }
27
27
 
28
28
  #[test]
29
29
  #[ignore]
30
30
  fn find_the_largest_product_of_three_with_numbers_in_order() {
31
- assert_eq!(504, lsp("0123456789", 3).unwrap());
31
+ assert_eq!(Ok(504), lsp("0123456789", 3));
32
32
  }
33
33
 
34
34
  #[test]
35
35
  #[ignore]
36
36
  fn find_the_largest_product_of_three_with_numbers_not_in_order() {
37
- assert_eq!(270, lsp("1027839564", 3).unwrap());
37
+ assert_eq!(Ok(270), lsp("1027839564", 3));
38
38
  }
39
39
 
40
40
  #[test]
41
41
  #[ignore]
42
42
  fn find_the_largest_product_of_five_with_numbers_in_order() {
43
- assert_eq!(15120, lsp("0123456789", 5).unwrap());
43
+ assert_eq!(Ok(15120), lsp("0123456789", 5));
44
44
  }
45
45
 
46
46
  #[test]
47
47
  #[ignore]
48
48
  fn span_of_six_in_a_large_number() {
49
- assert_eq!(23520,
50
- lsp("73167176531330624919225119674426574742355349194934", 6).unwrap());
49
+ assert_eq!(Ok(23520),
50
+ lsp("73167176531330624919225119674426574742355349194934", 6));
51
51
  }
52
52
 
53
53
  #[test]
54
54
  #[ignore]
55
55
  fn returns_zero_if_number_is_zeros() {
56
- assert_eq!(0, lsp("0000", 2).unwrap());
56
+ assert_eq!(Ok(0), lsp("0000", 2));
57
57
  }
58
58
 
59
59
  #[test]
60
60
  #[ignore]
61
61
  fn returns_zero_if_all_products_are_zero() {
62
- assert_eq!(0, lsp("99099", 3).unwrap());
62
+ assert_eq!(Ok(0), lsp("99099", 3));
63
63
  }
64
64
 
65
65
  #[test]
@@ -83,13 +83,13 @@ fn a_span_is_longer_than_number_is_an_error() {
83
83
  #[test]
84
84
  #[ignore]
85
85
  fn an_empty_string_and_no_span_returns_one() {
86
- assert_eq!(1, lsp("", 0).unwrap());
86
+ assert_eq!(Ok(1), lsp("", 0));
87
87
  }
88
88
 
89
89
  #[test]
90
90
  #[ignore]
91
91
  fn a_non_empty_string_and_no_span_returns_one() {
92
- assert_eq!(1, lsp("123", 0).unwrap());
92
+ assert_eq!(Ok(1), lsp("123", 0));
93
93
  }
94
94
 
95
95
  #[test]