Skip to content
Open
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
89 changes: 46 additions & 43 deletions exercises/practice/bob/.meta/tests.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,82 +9,85 @@
# As user-added comments (using the # character) will be removed when this file
# is regenerated, comments can be added via a `comment` key.

[e162fead-606f-437a-a166-d051915cea8e]
description = "stating something"
[8a2e771d-d6f1-4e3f-b6c6-b41495556e37]
description = "asking a question"

[73a966dc-8017-47d6-bb32-cf07d1a5fcd9]
description = "shouting"

[d6c98afd-df35-4806-b55e-2c457c3ab748]
description = "shouting gibberish"
[a5193c61-4a92-4f68-93e2-f554eb385ec6]
description = "forceful question"

[8a2e771d-d6f1-4e3f-b6c6-b41495556e37]
description = "asking a question"
[bc39f7c6-f543-41be-9a43-fd1c2f753fc0]
description = "silence"

[e162fead-606f-437a-a166-d051915cea8e]
description = "stating something"

[81080c62-4e4d-4066-b30a-48d8d76920d9]
description = "asking a numeric question"

[2a02716d-685b-4e2e-a804-2adaf281c01e]
description = "asking gibberish"

[c02f9179-ab16-4aa7-a8dc-940145c385f7]
description = "talking forcefully"
[bb0011c5-cd52-4a5b-8bfb-a87b6283b0e2]
description = "question with no letters"

[153c0e25-9bb5-4ec5-966e-598463658bcd]
description = "using acronyms in regular speech"
[9bfc677d-ea3a-45f2-be44-35bc8fa3753e]
description = "non-letters with question"

[a5193c61-4a92-4f68-93e2-f554eb385ec6]
description = "forceful question"
[8608c508-f7de-4b17-985b-811878b3cf45]
description = "prattling on"

[a20e0c54-2224-4dde-8b10-bd2cdd4f61bc]
description = "shouting numbers"
[05b304d6-f83b-46e7-81e0-4cd3ca647900]
description = "ending with whitespace"

[f7bc4b92-bdff-421e-a238-ae97f230ccac]
description = "no letters"
[66953780-165b-4e7e-8ce3-4bcb80b6385a]
description = "multiple line question"
include = false

[bb0011c5-cd52-4a5b-8bfb-a87b6283b0e2]
description = "question with no letters"
[2c7278ac-f955-4eb4-bf8f-e33eb4116a15]
description = "multiple line question"
reimplements = "66953780-165b-4e7e-8ce3-4bcb80b6385a"

[d6c98afd-df35-4806-b55e-2c457c3ab748]
description = "shouting gibberish"

[3c954328-86fb-4c71-8961-e18d6a5e2517]
description = "shouting a statement containing a question mark"

[a20e0c54-2224-4dde-8b10-bd2cdd4f61bc]
description = "shouting numbers"

[496143c8-1c31-4c01-8a08-88427af85c66]
description = "shouting with special characters"

[e6793c1c-43bd-4b8d-bc11-499aea73925f]
description = "shouting with no exclamation mark"

[aa8097cc-c548-4951-8856-14a404dd236a]
description = "statement containing question mark"

[9bfc677d-ea3a-45f2-be44-35bc8fa3753e]
description = "non-letters with question"

[8608c508-f7de-4b17-985b-811878b3cf45]
description = "prattling on"

[bc39f7c6-f543-41be-9a43-fd1c2f753fc0]
description = "silence"

[d6c47565-372b-4b09-b1dd-c40552b8378b]
description = "prolonged silence"

[4428f28d-4100-4d85-a902-e5a78cb0ecd3]
description = "alternate silence"

[66953780-165b-4e7e-8ce3-4bcb80b6385a]
description = "multiple line question"
include = false
[72bd5ad3-9b2f-4931-a988-dce1f5771de2]
description = "other whitespace"

[5371ef75-d9ea-4103-bcfa-2da973ddec1b]
description = "starting with whitespace"
[c02f9179-ab16-4aa7-a8dc-940145c385f7]
description = "talking forcefully"

[05b304d6-f83b-46e7-81e0-4cd3ca647900]
description = "ending with whitespace"
[153c0e25-9bb5-4ec5-966e-598463658bcd]
description = "using acronyms in regular speech"

[72bd5ad3-9b2f-4931-a988-dce1f5771de2]
description = "other whitespace"
[f7bc4b92-bdff-421e-a238-ae97f230ccac]
description = "no letters"

[aa8097cc-c548-4951-8856-14a404dd236a]
description = "statement containing question mark"

[5371ef75-d9ea-4103-bcfa-2da973ddec1b]
description = "starting with whitespace"

[12983553-8601-46a8-92fa-fcaa3bc4a2a0]
description = "non-question ending with whitespace"

[2c7278ac-f955-4eb4-bf8f-e33eb4116a15]
description = "multiple line question"
reimplements = "66953780-165b-4e7e-8ce3-4bcb80b6385a"
132 changes: 69 additions & 63 deletions exercises/practice/bob/bob_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
require_relative 'bob'

class BobTest < Minitest::Test
def test_stating_something
def test_asking_a_question
# skip
remark = "Tom-ay-to, tom-aaaah-to."
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \"Tom-ay-to, tom-aaaah-to.\", and.."
remark = "Does this cryogenic chamber make me look fat?"
assert_equal "Sure.", Bob.hey(remark), "Bob hears \"Does this cryogenic chamber make me look fat?\", and.."
end

def test_shouting
Expand All @@ -14,16 +14,22 @@ def test_shouting
assert_equal "Whoa, chill out!", Bob.hey(remark), "Bob hears \"WATCH OUT!\", and.."
end

def test_shouting_gibberish
def test_forceful_question
skip
remark = "FCECDFCAAB"
assert_equal "Whoa, chill out!", Bob.hey(remark), "Bob hears \"FCECDFCAAB\", and.."
remark = "WHAT'S GOING ON?"
assert_equal "Calm down, I know what I'm doing!", Bob.hey(remark), "Bob hears \"WHAT'S GOING ON?\", and.."
end

def test_asking_a_question
def test_silence
skip
remark = "Does this cryogenic chamber make me look fat?"
assert_equal "Sure.", Bob.hey(remark), "Bob hears \"Does this cryogenic chamber make me look fat?\", and.."
remark = ""
assert_equal "Fine. Be that way!", Bob.hey(remark), "Bob hears \"\", and.."
end

def test_stating_something
skip
remark = "Tom-ay-to, tom-aaaah-to."
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \"Tom-ay-to, tom-aaaah-to.\", and.."
end

def test_asking_a_numeric_question
Expand All @@ -38,40 +44,52 @@ def test_asking_gibberish
assert_equal "Sure.", Bob.hey(remark), "Bob hears \"fffbbcbeab?\", and.."
end

def test_talking_forcefully
def test_question_with_no_letters
skip
remark = "Hi there!"
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \"Hi there!\", and.."
remark = "4?"
assert_equal "Sure.", Bob.hey(remark), "Bob hears \"4?\", and.."
end

def test_using_acronyms_in_regular_speech
def test_non_letters_with_question
skip
remark = "It's OK if you don't want to go work for NASA."
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \"It's OK if you don't want to go work for NASA.\", and.."
remark = ":) ?"
assert_equal "Sure.", Bob.hey(remark), "Bob hears \":) ?\", and.."
end

def test_forceful_question
def test_prattling_on
skip
remark = "WHAT'S GOING ON?"
assert_equal "Calm down, I know what I'm doing!", Bob.hey(remark), "Bob hears \"WHAT'S GOING ON?\", and.."
remark = "Wait! Hang on. Are you going to be OK?"
assert_equal "Sure.", Bob.hey(remark), "Bob hears \"Wait! Hang on. Are you going to be OK?\", and.."
end

def test_shouting_numbers
def test_ending_with_whitespace
skip
remark = "1, 2, 3 GO!"
assert_equal "Whoa, chill out!", Bob.hey(remark), "Bob hears \"1, 2, 3 GO!\", and.."
remark = "Okay if like my spacebar quite a bit? "
assert_equal "Sure.", Bob.hey(remark), "Bob hears \"Okay if like my spacebar quite a bit? \", and.."
end

def test_no_letters
def test_multiple_line_question
skip
remark = "1, 2, 3"
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \"1, 2, 3\", and.."
remark = "\nDoes this cryogenic chamber make\n me look fat?"
assert_equal "Sure.", Bob.hey(remark), "Bob hears \"\\nDoes this cryogenic chamber make\\n me look fat?\", and.."
end

def test_question_with_no_letters
def test_shouting_gibberish
skip
remark = "4?"
assert_equal "Sure.", Bob.hey(remark), "Bob hears \"4?\", and.."
remark = "FCECDFCAAB"
assert_equal "Whoa, chill out!", Bob.hey(remark), "Bob hears \"FCECDFCAAB\", and.."
end

def test_shouting_a_statement_containing_a_question_mark
skip
remark = "DO LIONS EAT PEOPLE? AHHHHH."
assert_equal "Whoa, chill out!", Bob.hey(remark), "Bob hears \"DO LIONS EAT PEOPLE? AHHHHH.\", and.."
end

def test_shouting_numbers
skip
remark = "1, 2, 3 GO!"
assert_equal "Whoa, chill out!", Bob.hey(remark), "Bob hears \"1, 2, 3 GO!\", and.."
end

def test_shouting_with_special_characters
Expand All @@ -86,69 +104,57 @@ def test_shouting_with_no_exclamation_mark
assert_equal "Whoa, chill out!", Bob.hey(remark), "Bob hears \"I HATE THE DENTIST\", and.."
end

def test_statement_containing_question_mark
skip
remark = "Ending with ? means a question."
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \"Ending with ? means a question.\", and.."
end

def test_non_letters_with_question
def test_prolonged_silence
skip
remark = ":) ?"
assert_equal "Sure.", Bob.hey(remark), "Bob hears \":) ?\", and.."
remark = " "
assert_equal "Fine. Be that way!", Bob.hey(remark), "Bob hears \" \", and.."
end

def test_prattling_on
def test_alternate_silence
skip
remark = "Wait! Hang on. Are you going to be OK?"
assert_equal "Sure.", Bob.hey(remark), "Bob hears \"Wait! Hang on. Are you going to be OK?\", and.."
remark = "\t\t\t\t\t\t\t\t\t\t"
assert_equal "Fine. Be that way!", Bob.hey(remark), "Bob hears \"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\", and.."
end

def test_silence
def test_other_whitespace
skip
remark = ""
assert_equal "Fine. Be that way!", Bob.hey(remark), "Bob hears \"\", and.."
remark = "\n\r \t"
assert_equal "Fine. Be that way!", Bob.hey(remark), "Bob hears \"\\n\\r \\t\", and.."
end

def test_prolonged_silence
def test_talking_forcefully
skip
remark = " "
assert_equal "Fine. Be that way!", Bob.hey(remark), "Bob hears \" \", and.."
remark = "Hi there!"
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \"Hi there!\", and.."
end

def test_alternate_silence
def test_using_acronyms_in_regular_speech
skip
remark = "\t\t\t\t\t\t\t\t\t\t"
assert_equal "Fine. Be that way!", Bob.hey(remark), "Bob hears \"\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\", and.."
remark = "It's OK if you don't want to go work for NASA."
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \"It's OK if you don't want to go work for NASA.\", and.."
end

def test_starting_with_whitespace
def test_no_letters
skip
remark = " hmmmmmmm..."
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \" hmmmmmmm...\", and.."
remark = "1, 2, 3"
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \"1, 2, 3\", and.."
end

def test_ending_with_whitespace
def test_statement_containing_question_mark
skip
remark = "Okay if like my spacebar quite a bit? "
assert_equal "Sure.", Bob.hey(remark), "Bob hears \"Okay if like my spacebar quite a bit? \", and.."
remark = "Ending with ? means a question."
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \"Ending with ? means a question.\", and.."
end

def test_other_whitespace
def test_starting_with_whitespace
skip
remark = "\n\r \t"
assert_equal "Fine. Be that way!", Bob.hey(remark), "Bob hears \"\\n\\r \\t\", and.."
remark = " hmmmmmmm..."
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \" hmmmmmmm...\", and.."
end

def test_non_question_ending_with_whitespace
skip
remark = "This is a statement ending with whitespace "
assert_equal "Whatever.", Bob.hey(remark), "Bob hears \"This is a statement ending with whitespace \", and.."
end

def test_multiple_line_question
skip
remark = "\nDoes this cryogenic chamber make\n me look fat?"
assert_equal "Sure.", Bob.hey(remark), "Bob hears \"\\nDoes this cryogenic chamber make\\n me look fat?\", and.."
end
end
6 changes: 6 additions & 0 deletions exercises/practice/connect/.meta/tests.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ description = "nobody wins crossing adjacent angles"
[cd61c143-92f6-4a8d-84d9-cb2b359e226b]
description = "X wins crossing from left to right"

[495e33ed-30a9-4012-b46e-d7c4d5fe13c3]
description = "X wins with left-hand dead end fork"

[ab167ab0-4a98-4d0f-a1c0-e1cddddc3d58]
description = "X wins with right-hand dead end fork"

[73d1eda6-16ab-4460-9904-b5f5dd401d0b]
description = "O wins crossing from top to bottom"

Expand Down
26 changes: 26 additions & 0 deletions exercises/practice/connect/connect_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,32 @@ def test_x_wins_crossing_from_left_to_right
assert_equal expected, actual, 'X wins crossing from left to right'
end

def test_x_wins_with_left_hand_dead_end_fork
skip
expected = 'X'
board = [
'. . X .',
' X X . .',
' . X X X',
' O O O O'
].map { |row| row.gsub(/^ */, '') }
actual = Board.new(board).winner
assert_equal expected, actual, 'X wins with left-hand dead end fork'
end

def test_x_wins_with_right_hand_dead_end_fork
skip
expected = 'X'
board = [
'. . X X',
' X X . .',
' . X X .',
' O O O O'
].map { |row| row.gsub(/^ */, '') }
actual = Board.new(board).winner
assert_equal expected, actual, 'X wins with right-hand dead end fork'
end

def test_o_wins_crossing_from_top_to_bottom
skip
expected = 'O'
Expand Down
3 changes: 3 additions & 0 deletions exercises/practice/flower-field/.meta/tests.toml
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,6 @@ description = "cross"

[dd9d4ca8-9e68-4f78-a677-a2a70fd7a7b8]
description = "large garden"

[6e4ac13a-3e43-4728-a2e3-3551d4b1a996]
description = "multiple adjacent flowers"
Loading