Skip to content

Commit 231e3ac

Browse files
authored
Add templates for exercises batch 9 (#1792)
1 parent f714991 commit 231e3ac

File tree

12 files changed

+211
-40
lines changed

12 files changed

+211
-40
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
require 'minitest/autorun'
2+
require_relative 'raindrops'
3+
4+
class RaindropsTest < Minitest::Test
5+
<% json["cases"].each do |cases| %>
6+
def test_<%= underscore(cases["description"]) %>
7+
<%= skip? %>
8+
actual = Raindrops.convert(<%= cases["input"]["number"] %>)
9+
expected = '<%= cases["expected"] %>'
10+
assert_equal expected, actual
11+
end
12+
<% end %>
13+
end

exercises/practice/raindrops/raindrops_test.rb

Lines changed: 54 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,91 +4,127 @@
44
class RaindropsTest < Minitest::Test
55
def test_the_sound_for_1_is_1
66
# skip
7-
assert_equal "1", Raindrops.convert(1)
7+
actual = Raindrops.convert(1)
8+
expected = '1'
9+
assert_equal expected, actual
810
end
911

1012
def test_the_sound_for_3_is_pling
1113
skip
12-
assert_equal "Pling", Raindrops.convert(3)
14+
actual = Raindrops.convert(3)
15+
expected = 'Pling'
16+
assert_equal expected, actual
1317
end
1418

1519
def test_the_sound_for_5_is_plang
1620
skip
17-
assert_equal "Plang", Raindrops.convert(5)
21+
actual = Raindrops.convert(5)
22+
expected = 'Plang'
23+
assert_equal expected, actual
1824
end
1925

2026
def test_the_sound_for_7_is_plong
2127
skip
22-
assert_equal "Plong", Raindrops.convert(7)
28+
actual = Raindrops.convert(7)
29+
expected = 'Plong'
30+
assert_equal expected, actual
2331
end
2432

2533
def test_the_sound_for_6_is_pling_as_it_has_a_factor_3
2634
skip
27-
assert_equal "Pling", Raindrops.convert(6)
35+
actual = Raindrops.convert(6)
36+
expected = 'Pling'
37+
assert_equal expected, actual
2838
end
2939

3040
def test_2_to_the_power_3_does_not_make_a_raindrop_sound_as_3_is_the_exponent_not_the_base
3141
skip
32-
assert_equal "8", Raindrops.convert(8)
42+
actual = Raindrops.convert(8)
43+
expected = '8'
44+
assert_equal expected, actual
3345
end
3446

3547
def test_the_sound_for_9_is_pling_as_it_has_a_factor_3
3648
skip
37-
assert_equal "Pling", Raindrops.convert(9)
49+
actual = Raindrops.convert(9)
50+
expected = 'Pling'
51+
assert_equal expected, actual
3852
end
3953

4054
def test_the_sound_for_10_is_plang_as_it_has_a_factor_5
4155
skip
42-
assert_equal "Plang", Raindrops.convert(10)
56+
actual = Raindrops.convert(10)
57+
expected = 'Plang'
58+
assert_equal expected, actual
4359
end
4460

4561
def test_the_sound_for_14_is_plong_as_it_has_a_factor_of_7
4662
skip
47-
assert_equal "Plong", Raindrops.convert(14)
63+
actual = Raindrops.convert(14)
64+
expected = 'Plong'
65+
assert_equal expected, actual
4866
end
4967

5068
def test_the_sound_for_15_is_plingplang_as_it_has_factors_3_and_5
5169
skip
52-
assert_equal "PlingPlang", Raindrops.convert(15)
70+
actual = Raindrops.convert(15)
71+
expected = 'PlingPlang'
72+
assert_equal expected, actual
5373
end
5474

5575
def test_the_sound_for_21_is_plingplong_as_it_has_factors_3_and_7
5676
skip
57-
assert_equal "PlingPlong", Raindrops.convert(21)
77+
actual = Raindrops.convert(21)
78+
expected = 'PlingPlong'
79+
assert_equal expected, actual
5880
end
5981

6082
def test_the_sound_for_25_is_plang_as_it_has_a_factor_5
6183
skip
62-
assert_equal "Plang", Raindrops.convert(25)
84+
actual = Raindrops.convert(25)
85+
expected = 'Plang'
86+
assert_equal expected, actual
6387
end
6488

6589
def test_the_sound_for_27_is_pling_as_it_has_a_factor_3
6690
skip
67-
assert_equal "Pling", Raindrops.convert(27)
91+
actual = Raindrops.convert(27)
92+
expected = 'Pling'
93+
assert_equal expected, actual
6894
end
6995

7096
def test_the_sound_for_35_is_plangplong_as_it_has_factors_5_and_7
7197
skip
72-
assert_equal "PlangPlong", Raindrops.convert(35)
98+
actual = Raindrops.convert(35)
99+
expected = 'PlangPlong'
100+
assert_equal expected, actual
73101
end
74102

75103
def test_the_sound_for_49_is_plong_as_it_has_a_factor_7
76104
skip
77-
assert_equal "Plong", Raindrops.convert(49)
105+
actual = Raindrops.convert(49)
106+
expected = 'Plong'
107+
assert_equal expected, actual
78108
end
79109

80110
def test_the_sound_for_52_is_52
81111
skip
82-
assert_equal "52", Raindrops.convert(52)
112+
actual = Raindrops.convert(52)
113+
expected = '52'
114+
assert_equal expected, actual
83115
end
84116

85117
def test_the_sound_for_105_is_plingplangplong_as_it_has_factors_3_5_and_7
86118
skip
87-
assert_equal "PlingPlangPlong", Raindrops.convert(105)
119+
actual = Raindrops.convert(105)
120+
expected = 'PlingPlangPlong'
121+
assert_equal expected, actual
88122
end
89123

90124
def test_the_sound_for_3125_is_plang_as_it_has_a_factor_5
91125
skip
92-
assert_equal "Plang", Raindrops.convert(3125)
126+
actual = Raindrops.convert(3125)
127+
expected = 'Plang'
128+
assert_equal expected, actual
93129
end
94130
end
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
require 'minitest/autorun'
2+
require_relative 'resistor_color_duo'
3+
4+
class ResistorColorDuoTest < Minitest::Test
5+
<% json["cases"].each do |cases| %>
6+
def test_<%= underscore(cases["description"]) %>
7+
<%= skip? %>
8+
actual = ResistorColorDuo.value(<%= cases["input"]["colors"] %>)
9+
expected = <%= cases["expected"] %>
10+
assert_equal expected, actual
11+
end
12+
<% end %>
13+
end

exercises/practice/resistor-color-duo/resistor_color_duo_test.rb

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,50 @@
44
class ResistorColorDuoTest < Minitest::Test
55
def test_brown_and_black
66
# skip
7-
assert_equal 10, ResistorColorDuo.value(%w[brown black])
7+
actual = ResistorColorDuo.value(%w[brown black])
8+
expected = 10
9+
assert_equal expected, actual
810
end
911

1012
def test_blue_and_grey
1113
skip
12-
assert_equal 68, ResistorColorDuo.value(%w[blue grey])
14+
actual = ResistorColorDuo.value(%w[blue grey])
15+
expected = 68
16+
assert_equal expected, actual
1317
end
1418

1519
def test_yellow_and_violet
1620
skip
17-
assert_equal 47, ResistorColorDuo.value(%w[yellow violet])
21+
actual = ResistorColorDuo.value(%w[yellow violet])
22+
expected = 47
23+
assert_equal expected, actual
1824
end
1925

2026
def test_white_and_red
2127
skip
22-
assert_equal 92, ResistorColorDuo.value(%w[white red])
28+
actual = ResistorColorDuo.value(%w[white red])
29+
expected = 92
30+
assert_equal expected, actual
2331
end
2432

2533
def test_orange_and_orange
2634
skip
27-
assert_equal 33, ResistorColorDuo.value(%w[orange orange])
35+
actual = ResistorColorDuo.value(%w[orange orange])
36+
expected = 33
37+
assert_equal expected, actual
2838
end
2939

3040
def test_ignore_additional_colors
3141
skip
32-
assert_equal 51, ResistorColorDuo.value(%w[green brown orange])
42+
actual = ResistorColorDuo.value(%w[green brown orange])
43+
expected = 51
44+
assert_equal expected, actual
3345
end
3446

3547
def test_black_and_brown_one_digit
3648
skip
37-
assert_equal 1, ResistorColorDuo.value(%w[black brown])
49+
actual = ResistorColorDuo.value(%w[black brown])
50+
expected = 1
51+
assert_equal expected, actual
3852
end
3953
end
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
require 'minitest/autorun'
2+
require_relative 'resistor_color_trio'
3+
4+
class ResistorColorTrioTest < Minitest::Test
5+
<% json["cases"].each do |cases| %>
6+
def test_<%= underscore(cases["description"]) %>
7+
<%= skip? %>
8+
actual = ResistorColorTrio.new(<%= cases["input"]["colors"] %>).label
9+
expected = 'Resistor value: <%= cases["expected"]["value"] %> <%= cases["expected"]["unit"] %>'
10+
assert_equal expected, actual
11+
end
12+
<% end %>
13+
end
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
require 'minitest/autorun'
2+
require_relative 'resistor_color'
3+
4+
class ResistorColorTest < Minitest::Test
5+
<% json["cases"].each do |cases| %>
6+
<% if cases.is_a?(Hash) && cases.key?("cases") %>
7+
<% cases["cases"].each do |sub_case| %>
8+
def test_<%= underscore(sub_case["description"]) %>
9+
<%= skip? %>
10+
actual = ResistorColor.color_code('<%= sub_case["input"]["color"] %>')
11+
expected = <%= sub_case["expected"] %>
12+
assert_equal expected, actual
13+
end
14+
<% end %>
15+
<% else %>
16+
def test_<%= underscore(cases["description"]) %>
17+
<%= skip? %>
18+
expected = <%= cases["expected"] %>
19+
assert_equal expected, ResistorColor::COLORS
20+
end
21+
<% end%>
22+
<% end %>
23+
end

exercises/practice/resistor-color/resistor_color_test.rb

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,23 @@
44
class ResistorColorTest < Minitest::Test
55
def test_black
66
# skip
7-
assert_equal 0, ResistorColor.color_code("black")
7+
actual = ResistorColor.color_code('black')
8+
expected = 0
9+
assert_equal expected, actual
810
end
911

1012
def test_white
1113
skip
12-
assert_equal 9, ResistorColor.color_code("white")
14+
actual = ResistorColor.color_code('white')
15+
expected = 9
16+
assert_equal expected, actual
1317
end
1418

1519
def test_orange
1620
skip
17-
assert_equal 3, ResistorColor.color_code("orange")
21+
actual = ResistorColor.color_code('orange')
22+
expected = 3
23+
assert_equal expected, actual
1824
end
1925

2026
def test_colors
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
require 'minitest/autorun'
2+
require_relative 'reverser'
3+
4+
class ReverserTest < Minitest::Test
5+
<% json["cases"].each do |cases| %>
6+
def test_<%= underscore(cases["description"]) %>
7+
<%= skip? %>
8+
actual = Reverser.reverse("<%= cases["input"]["value"] %>")
9+
expected = "<%= cases["expected"] %>"
10+
assert_equal expected, actual
11+
end
12+
<% end %>
13+
end

exercises/practice/reverse-string/.meta/tests.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,12 @@ description = "an even-sized word"
2929

3030
[1bed0f8a-13b0-4bd3-9d59-3d0593326fa2]
3131
description = "wide characters"
32+
include = false
3233

3334
[93d7e1b8-f60f-4f3c-9559-4056e10d2ead]
3435
description = "grapheme cluster with pre-combined form"
36+
include = false
3537

3638
[1028b2c1-6763-4459-8540-2da47ca512d9]
3739
description = "grapheme clusters"
40+
include = false

exercises/practice/reverse-string/reverse_string_test.rb

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,43 @@
44
class ReverserTest < Minitest::Test
55
def test_an_empty_string
66
# skip
7-
assert_equal "", Reverser.reverse("")
7+
actual = Reverser.reverse("")
8+
expected = ""
9+
assert_equal expected, actual
810
end
911

1012
def test_a_word
1113
skip
12-
assert_equal "tobor", Reverser.reverse("robot")
14+
actual = Reverser.reverse("robot")
15+
expected = "tobor"
16+
assert_equal expected, actual
1317
end
1418

1519
def test_a_capitalized_word
1620
skip
17-
assert_equal "nemaR", Reverser.reverse("Ramen")
21+
actual = Reverser.reverse("Ramen")
22+
expected = "nemaR"
23+
assert_equal expected, actual
1824
end
1925

2026
def test_a_sentence_with_punctuation
2127
skip
22-
assert_equal "!yrgnuh m'I", Reverser.reverse("I'm hungry!")
28+
actual = Reverser.reverse("I'm hungry!")
29+
expected = "!yrgnuh m'I"
30+
assert_equal expected, actual
2331
end
2432

2533
def test_a_palindrome
2634
skip
27-
assert_equal "racecar", Reverser.reverse("racecar")
35+
actual = Reverser.reverse("racecar")
36+
expected = "racecar"
37+
assert_equal expected, actual
2838
end
2939

3040
def test_an_even_sized_word
3141
skip
32-
assert_equal "reward", Reverser.reverse("drawer")
42+
actual = Reverser.reverse("drawer")
43+
expected = "reward"
44+
assert_equal expected, actual
3345
end
3446
end

0 commit comments

Comments
 (0)