Skip to content

Commit 2910fa2

Browse files
authored
Add templates for exercises batch 8 (#1791)
* Add templates for exercises batch 8 * Change to actual and expected format
1 parent 9a91aab commit 2910fa2

File tree

14 files changed

+507
-205
lines changed

14 files changed

+507
-205
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
require 'minitest/autorun'
2+
require_relative 'pig_latin'
3+
4+
class PigLatinTest < Minitest::Test
5+
<% json["cases"].each do |cases| %>
6+
<% cases["cases"].each do |sub_case|%>
7+
def test_<%= underscore(sub_case["description"]) %>
8+
<%= skip? %>
9+
actual = PigLatin.translate('<%= sub_case["input"]["phrase"] %>')
10+
expected = '<%= sub_case["expected"] %>'
11+
assert_equal expected, actual
12+
end
13+
<% end%>
14+
<% end %>
15+
end

exercises/practice/pig-latin/pig_latin_test.rb

Lines changed: 73 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,111 +4,162 @@
44
class PigLatinTest < Minitest::Test
55
def test_word_beginning_with_a
66
# skip
7-
assert_equal "appleay", PigLatin.translate("apple")
7+
actual = PigLatin.translate('apple')
8+
expected = 'appleay'
9+
assert_equal expected, actual
810
end
911

1012
def test_word_beginning_with_e
1113
skip
12-
assert_equal "earay", PigLatin.translate("ear")
14+
actual = PigLatin.translate('ear')
15+
expected = 'earay'
16+
assert_equal expected, actual
1317
end
1418

1519
def test_word_beginning_with_i
1620
skip
17-
assert_equal "iglooay", PigLatin.translate("igloo")
21+
actual = PigLatin.translate('igloo')
22+
expected = 'iglooay'
23+
assert_equal expected, actual
1824
end
1925

2026
def test_word_beginning_with_o
2127
skip
22-
assert_equal "objectay", PigLatin.translate("object")
28+
actual = PigLatin.translate('object')
29+
expected = 'objectay'
30+
assert_equal expected, actual
2331
end
2432

2533
def test_word_beginning_with_u
2634
skip
27-
assert_equal "underay", PigLatin.translate("under")
35+
actual = PigLatin.translate('under')
36+
expected = 'underay'
37+
assert_equal expected, actual
2838
end
2939

3040
def test_word_beginning_with_a_vowel_and_followed_by_a_qu
3141
skip
32-
assert_equal "equalay", PigLatin.translate("equal")
42+
actual = PigLatin.translate('equal')
43+
expected = 'equalay'
44+
assert_equal expected, actual
3345
end
3446

3547
def test_word_beginning_with_p
3648
skip
37-
assert_equal "igpay", PigLatin.translate("pig")
49+
actual = PigLatin.translate('pig')
50+
expected = 'igpay'
51+
assert_equal expected, actual
3852
end
3953

4054
def test_word_beginning_with_k
4155
skip
42-
assert_equal "oalakay", PigLatin.translate("koala")
56+
actual = PigLatin.translate('koala')
57+
expected = 'oalakay'
58+
assert_equal expected, actual
4359
end
4460

4561
def test_word_beginning_with_x
4662
skip
47-
assert_equal "enonxay", PigLatin.translate("xenon")
63+
actual = PigLatin.translate('xenon')
64+
expected = 'enonxay'
65+
assert_equal expected, actual
4866
end
4967

5068
def test_word_beginning_with_q_without_a_following_u
5169
skip
52-
assert_equal "atqay", PigLatin.translate("qat")
70+
actual = PigLatin.translate('qat')
71+
expected = 'atqay'
72+
assert_equal expected, actual
73+
end
74+
75+
def test_word_beginning_with_consonant_and_vowel_containing_qu
76+
skip
77+
actual = PigLatin.translate('liquid')
78+
expected = 'iquidlay'
79+
assert_equal expected, actual
5380
end
5481

5582
def test_word_beginning_with_ch
5683
skip
57-
assert_equal "airchay", PigLatin.translate("chair")
84+
actual = PigLatin.translate('chair')
85+
expected = 'airchay'
86+
assert_equal expected, actual
5887
end
5988

6089
def test_word_beginning_with_qu
6190
skip
62-
assert_equal "eenquay", PigLatin.translate("queen")
91+
actual = PigLatin.translate('queen')
92+
expected = 'eenquay'
93+
assert_equal expected, actual
6394
end
6495

6596
def test_word_beginning_with_qu_and_a_preceding_consonant
6697
skip
67-
assert_equal "aresquay", PigLatin.translate("square")
98+
actual = PigLatin.translate('square')
99+
expected = 'aresquay'
100+
assert_equal expected, actual
68101
end
69102

70103
def test_word_beginning_with_th
71104
skip
72-
assert_equal "erapythay", PigLatin.translate("therapy")
105+
actual = PigLatin.translate('therapy')
106+
expected = 'erapythay'
107+
assert_equal expected, actual
73108
end
74109

75110
def test_word_beginning_with_thr
76111
skip
77-
assert_equal "ushthray", PigLatin.translate("thrush")
112+
actual = PigLatin.translate('thrush')
113+
expected = 'ushthray'
114+
assert_equal expected, actual
78115
end
79116

80117
def test_word_beginning_with_sch
81118
skip
82-
assert_equal "oolschay", PigLatin.translate("school")
119+
actual = PigLatin.translate('school')
120+
expected = 'oolschay'
121+
assert_equal expected, actual
83122
end
84123

85124
def test_word_beginning_with_yt
86125
skip
87-
assert_equal "yttriaay", PigLatin.translate("yttria")
126+
actual = PigLatin.translate('yttria')
127+
expected = 'yttriaay'
128+
assert_equal expected, actual
88129
end
89130

90131
def test_word_beginning_with_xr
91132
skip
92-
assert_equal "xrayay", PigLatin.translate("xray")
133+
actual = PigLatin.translate('xray')
134+
expected = 'xrayay'
135+
assert_equal expected, actual
93136
end
94137

95138
def test_y_is_treated_like_a_consonant_at_the_beginning_of_a_word
96139
skip
97-
assert_equal "ellowyay", PigLatin.translate("yellow")
140+
actual = PigLatin.translate('yellow')
141+
expected = 'ellowyay'
142+
assert_equal expected, actual
98143
end
99144

100145
def test_y_is_treated_like_a_vowel_at_the_end_of_a_consonant_cluster
101146
skip
102-
assert_equal "ythmrhay", PigLatin.translate("rhythm")
147+
actual = PigLatin.translate('rhythm')
148+
expected = 'ythmrhay'
149+
assert_equal expected, actual
103150
end
104151

105152
def test_y_as_second_letter_in_two_letter_word
106153
skip
107-
assert_equal "ymay", PigLatin.translate("my")
154+
actual = PigLatin.translate('my')
155+
expected = 'ymay'
156+
assert_equal expected, actual
108157
end
109158

110159
def test_a_whole_phrase
111160
skip
112-
assert_equal "ickquay astfay unray", PigLatin.translate("quick fast run")
161+
actual = PigLatin.translate('quick fast run')
162+
expected = 'ickquay astfay unray'
163+
assert_equal expected, actual
113164
end
114165
end
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
require 'minitest/autorun'
2+
require_relative 'poker'
3+
4+
class PokerTest < Minitest::Test
5+
<% json["cases"].each do |cases| %>
6+
def test_<%= underscore(cases["description"]) %>
7+
<%= skip? %>
8+
hands = [<%= cases["input"]["hands"].map{ |hand| "%w[#{hand}]"}.join(", ") %>]
9+
actual = Poker.new(hands).best_hand
10+
expected = [<%= cases["expected"].map{ |hand| "%w[#{hand}]"}.join(", ") %>]
11+
assert_equal expected, actual
12+
end
13+
<% end %>
14+
end

0 commit comments

Comments
 (0)