Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions exercises/practice/raindrops/.meta/test_template.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
require 'minitest/autorun'
require_relative 'raindrops'

class RaindropsTest < Minitest::Test
<% json["cases"].each do |cases| %>
def test_<%= underscore(cases["description"]) %>
<%= skip? %>
actual = Raindrops.convert(<%= cases["input"]["number"] %>)
expected = '<%= cases["expected"] %>'
assert_equal expected, actual
end
<% end %>
end
72 changes: 54 additions & 18 deletions exercises/practice/raindrops/raindrops_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,91 +4,127 @@
class RaindropsTest < Minitest::Test
def test_the_sound_for_1_is_1
# skip
assert_equal "1", Raindrops.convert(1)
actual = Raindrops.convert(1)
expected = '1'
assert_equal expected, actual
end

def test_the_sound_for_3_is_pling
skip
assert_equal "Pling", Raindrops.convert(3)
actual = Raindrops.convert(3)
expected = 'Pling'
assert_equal expected, actual
end

def test_the_sound_for_5_is_plang
skip
assert_equal "Plang", Raindrops.convert(5)
actual = Raindrops.convert(5)
expected = 'Plang'
assert_equal expected, actual
end

def test_the_sound_for_7_is_plong
skip
assert_equal "Plong", Raindrops.convert(7)
actual = Raindrops.convert(7)
expected = 'Plong'
assert_equal expected, actual
end

def test_the_sound_for_6_is_pling_as_it_has_a_factor_3
skip
assert_equal "Pling", Raindrops.convert(6)
actual = Raindrops.convert(6)
expected = 'Pling'
assert_equal expected, actual
end

def test_2_to_the_power_3_does_not_make_a_raindrop_sound_as_3_is_the_exponent_not_the_base
skip
assert_equal "8", Raindrops.convert(8)
actual = Raindrops.convert(8)
expected = '8'
assert_equal expected, actual
end

def test_the_sound_for_9_is_pling_as_it_has_a_factor_3
skip
assert_equal "Pling", Raindrops.convert(9)
actual = Raindrops.convert(9)
expected = 'Pling'
assert_equal expected, actual
end

def test_the_sound_for_10_is_plang_as_it_has_a_factor_5
skip
assert_equal "Plang", Raindrops.convert(10)
actual = Raindrops.convert(10)
expected = 'Plang'
assert_equal expected, actual
end

def test_the_sound_for_14_is_plong_as_it_has_a_factor_of_7
skip
assert_equal "Plong", Raindrops.convert(14)
actual = Raindrops.convert(14)
expected = 'Plong'
assert_equal expected, actual
end

def test_the_sound_for_15_is_plingplang_as_it_has_factors_3_and_5
skip
assert_equal "PlingPlang", Raindrops.convert(15)
actual = Raindrops.convert(15)
expected = 'PlingPlang'
assert_equal expected, actual
end

def test_the_sound_for_21_is_plingplong_as_it_has_factors_3_and_7
skip
assert_equal "PlingPlong", Raindrops.convert(21)
actual = Raindrops.convert(21)
expected = 'PlingPlong'
assert_equal expected, actual
end

def test_the_sound_for_25_is_plang_as_it_has_a_factor_5
skip
assert_equal "Plang", Raindrops.convert(25)
actual = Raindrops.convert(25)
expected = 'Plang'
assert_equal expected, actual
end

def test_the_sound_for_27_is_pling_as_it_has_a_factor_3
skip
assert_equal "Pling", Raindrops.convert(27)
actual = Raindrops.convert(27)
expected = 'Pling'
assert_equal expected, actual
end

def test_the_sound_for_35_is_plangplong_as_it_has_factors_5_and_7
skip
assert_equal "PlangPlong", Raindrops.convert(35)
actual = Raindrops.convert(35)
expected = 'PlangPlong'
assert_equal expected, actual
end

def test_the_sound_for_49_is_plong_as_it_has_a_factor_7
skip
assert_equal "Plong", Raindrops.convert(49)
actual = Raindrops.convert(49)
expected = 'Plong'
assert_equal expected, actual
end

def test_the_sound_for_52_is_52
skip
assert_equal "52", Raindrops.convert(52)
actual = Raindrops.convert(52)
expected = '52'
assert_equal expected, actual
end

def test_the_sound_for_105_is_plingplangplong_as_it_has_factors_3_5_and_7
skip
assert_equal "PlingPlangPlong", Raindrops.convert(105)
actual = Raindrops.convert(105)
expected = 'PlingPlangPlong'
assert_equal expected, actual
end

def test_the_sound_for_3125_is_plang_as_it_has_a_factor_5
skip
assert_equal "Plang", Raindrops.convert(3125)
actual = Raindrops.convert(3125)
expected = 'Plang'
assert_equal expected, actual
end
end
13 changes: 13 additions & 0 deletions exercises/practice/resistor-color-duo/.meta/test_template.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
require 'minitest/autorun'
require_relative 'resistor_color_duo'

class ResistorColorDuoTest < Minitest::Test
<% json["cases"].each do |cases| %>
def test_<%= underscore(cases["description"]) %>
<%= skip? %>
actual = ResistorColorDuo.value(<%= cases["input"]["colors"] %>)
expected = <%= cases["expected"] %>
assert_equal expected, actual
end
<% end %>
end
28 changes: 21 additions & 7 deletions exercises/practice/resistor-color-duo/resistor_color_duo_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,50 @@
class ResistorColorDuoTest < Minitest::Test
def test_brown_and_black
# skip
assert_equal 10, ResistorColorDuo.value(%w[brown black])
actual = ResistorColorDuo.value(%w[brown black])
expected = 10
assert_equal expected, actual
end

def test_blue_and_grey
skip
assert_equal 68, ResistorColorDuo.value(%w[blue grey])
actual = ResistorColorDuo.value(%w[blue grey])
expected = 68
assert_equal expected, actual
end

def test_yellow_and_violet
skip
assert_equal 47, ResistorColorDuo.value(%w[yellow violet])
actual = ResistorColorDuo.value(%w[yellow violet])
expected = 47
assert_equal expected, actual
end

def test_white_and_red
skip
assert_equal 92, ResistorColorDuo.value(%w[white red])
actual = ResistorColorDuo.value(%w[white red])
expected = 92
assert_equal expected, actual
end

def test_orange_and_orange
skip
assert_equal 33, ResistorColorDuo.value(%w[orange orange])
actual = ResistorColorDuo.value(%w[orange orange])
expected = 33
assert_equal expected, actual
end

def test_ignore_additional_colors
skip
assert_equal 51, ResistorColorDuo.value(%w[green brown orange])
actual = ResistorColorDuo.value(%w[green brown orange])
expected = 51
assert_equal expected, actual
end

def test_black_and_brown_one_digit
skip
assert_equal 1, ResistorColorDuo.value(%w[black brown])
actual = ResistorColorDuo.value(%w[black brown])
expected = 1
assert_equal expected, actual
end
end
13 changes: 13 additions & 0 deletions exercises/practice/resistor-color-trio/.meta/test_template.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
require 'minitest/autorun'
require_relative 'resistor_color_trio'

class ResistorColorTrioTest < Minitest::Test
<% json["cases"].each do |cases| %>
def test_<%= underscore(cases["description"]) %>
<%= skip? %>
actual = ResistorColorTrio.new(<%= cases["input"]["colors"] %>).label
expected = 'Resistor value: <%= cases["expected"]["value"] %> <%= cases["expected"]["unit"] %>'
assert_equal expected, actual
end
<% end %>
end
23 changes: 23 additions & 0 deletions exercises/practice/resistor-color/.meta/test_template.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
require 'minitest/autorun'
require_relative 'resistor_color'

class ResistorColorTest < Minitest::Test
<% json["cases"].each do |cases| %>
<% if cases.is_a?(Hash) && cases.key?("cases") %>
<% cases["cases"].each do |sub_case| %>
def test_<%= underscore(sub_case["description"]) %>
<%= skip? %>
actual = ResistorColor.color_code('<%= sub_case["input"]["color"] %>')
expected = <%= sub_case["expected"] %>
assert_equal expected, actual
end
<% end %>
<% else %>
def test_<%= underscore(cases["description"]) %>
<%= skip? %>
expected = <%= cases["expected"] %>
assert_equal expected, ResistorColor::COLORS
end
<% end%>
<% end %>
end
12 changes: 9 additions & 3 deletions exercises/practice/resistor-color/resistor_color_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,23 @@
class ResistorColorTest < Minitest::Test
def test_black
# skip
assert_equal 0, ResistorColor.color_code("black")
actual = ResistorColor.color_code('black')
expected = 0
assert_equal expected, actual
end

def test_white
skip
assert_equal 9, ResistorColor.color_code("white")
actual = ResistorColor.color_code('white')
expected = 9
assert_equal expected, actual
end

def test_orange
skip
assert_equal 3, ResistorColor.color_code("orange")
actual = ResistorColor.color_code('orange')
expected = 3
assert_equal expected, actual
end

def test_colors
Expand Down
13 changes: 13 additions & 0 deletions exercises/practice/reverse-string/.meta/test_template.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
require 'minitest/autorun'
require_relative 'reverser'

class ReverserTest < Minitest::Test
<% json["cases"].each do |cases| %>
def test_<%= underscore(cases["description"]) %>
<%= skip? %>
actual = Reverser.reverse("<%= cases["input"]["value"] %>")
expected = "<%= cases["expected"] %>"
assert_equal expected, actual
end
<% end %>
end
3 changes: 3 additions & 0 deletions exercises/practice/reverse-string/.meta/tests.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,12 @@ description = "an even-sized word"

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

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

[1028b2c1-6763-4459-8540-2da47ca512d9]
description = "grapheme clusters"
include = false
24 changes: 18 additions & 6 deletions exercises/practice/reverse-string/reverse_string_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,43 @@
class ReverserTest < Minitest::Test
def test_an_empty_string
# skip
assert_equal "", Reverser.reverse("")
actual = Reverser.reverse("")
expected = ""
assert_equal expected, actual
end

def test_a_word
skip
assert_equal "tobor", Reverser.reverse("robot")
actual = Reverser.reverse("robot")
expected = "tobor"
assert_equal expected, actual
end

def test_a_capitalized_word
skip
assert_equal "nemaR", Reverser.reverse("Ramen")
actual = Reverser.reverse("Ramen")
expected = "nemaR"
assert_equal expected, actual
end

def test_a_sentence_with_punctuation
skip
assert_equal "!yrgnuh m'I", Reverser.reverse("I'm hungry!")
actual = Reverser.reverse("I'm hungry!")
expected = "!yrgnuh m'I"
assert_equal expected, actual
end

def test_a_palindrome
skip
assert_equal "racecar", Reverser.reverse("racecar")
actual = Reverser.reverse("racecar")
expected = "racecar"
assert_equal expected, actual
end

def test_an_even_sized_word
skip
assert_equal "reward", Reverser.reverse("drawer")
actual = Reverser.reverse("drawer")
expected = "reward"
assert_equal expected, actual
end
end
13 changes: 13 additions & 0 deletions exercises/practice/rna-transcription/.meta/test_template.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
require 'minitest/autorun'
require_relative 'rna_transcription'

class RnaTranscriptionTest < Minitest::Test
<% json["cases"].each do |cases| %>
def test_<%= underscore(cases["description"]) %>
<%= skip? %>
actual = Complement.of_dna('<%= cases["input"]["dna"] %>')
expected = '<%= cases["expected"] %>'
assert_equal expected, actual
end
<% end %>
end
Loading
Loading