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
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"
94 changes: 50 additions & 44 deletions exercises/practice/bob/BobTests.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
public class BobTests
{
[Fact]
public void Stating_something()
public void Asking_a_question()
{
Assert.Equal("Whatever.", Bob.Response("Tom-ay-to, tom-aaaah-to."));
Assert.Equal("Sure.", Bob.Response("Does this cryogenic chamber make me look fat?"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
Expand All @@ -13,15 +13,21 @@ public void Shouting()
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Shouting_gibberish()
public void Forceful_question()
{
Assert.Equal("Whoa, chill out!", Bob.Response("FCECDFCAAB"));
Assert.Equal("Calm down, I know what I'm doing!", Bob.Response("WHAT'S GOING ON?"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Asking_a_question()
public void Silence()
{
Assert.Equal("Sure.", Bob.Response("Does this cryogenic chamber make me look fat?"));
Assert.Equal("Fine. Be that way!", Bob.Response(""));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Stating_something()
{
Assert.Equal("Whatever.", Bob.Response("Tom-ay-to, tom-aaaah-to."));
}

[Fact(Skip = "Remove this Skip property to run this test")]
Expand All @@ -37,116 +43,116 @@ public void Asking_gibberish()
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Talking_forcefully()
public void Question_with_no_letters()
{
Assert.Equal("Whatever.", Bob.Response("Hi there!"));
Assert.Equal("Sure.", Bob.Response("4?"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Using_acronyms_in_regular_speech()
public void Non_letters_with_question()
{
Assert.Equal("Whatever.", Bob.Response("It's OK if you don't want to go work for NASA."));
Assert.Equal("Sure.", Bob.Response(":) ?"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Forceful_question()
public void Prattling_on()
{
Assert.Equal("Calm down, I know what I'm doing!", Bob.Response("WHAT'S GOING ON?"));
Assert.Equal("Sure.", Bob.Response("Wait! Hang on. Are you going to be OK?"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Shouting_numbers()
public void Ending_with_whitespace()
{
Assert.Equal("Whoa, chill out!", Bob.Response("1, 2, 3 GO!"));
Assert.Equal("Sure.", Bob.Response("Okay if like my spacebar quite a bit? "));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void No_letters()
public void Multiple_line_question()
{
Assert.Equal("Whatever.", Bob.Response("1, 2, 3"));
Assert.Equal("Sure.", Bob.Response("\nDoes this cryogenic chamber make\n me look fat?"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Question_with_no_letters()
public void Shouting_gibberish()
{
Assert.Equal("Sure.", Bob.Response("4?"));
Assert.Equal("Whoa, chill out!", Bob.Response("FCECDFCAAB"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Shouting_with_special_characters()
public void Shouting_a_statement_containing_a_question_mark()
{
Assert.Equal("Whoa, chill out!", Bob.Response("ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!"));
Assert.Equal("Whoa, chill out!", Bob.Response("DO LIONS EAT PEOPLE? AHHHHH."));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Shouting_with_no_exclamation_mark()
public void Shouting_numbers()
{
Assert.Equal("Whoa, chill out!", Bob.Response("I HATE THE DENTIST"));
Assert.Equal("Whoa, chill out!", Bob.Response("1, 2, 3 GO!"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Statement_containing_question_mark()
public void Shouting_with_special_characters()
{
Assert.Equal("Whatever.", Bob.Response("Ending with ? means a question."));
Assert.Equal("Whoa, chill out!", Bob.Response("ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Non_letters_with_question()
public void Shouting_with_no_exclamation_mark()
{
Assert.Equal("Sure.", Bob.Response(":) ?"));
Assert.Equal("Whoa, chill out!", Bob.Response("I HATE THE DENTIST"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Prattling_on()
public void Prolonged_silence()
{
Assert.Equal("Sure.", Bob.Response("Wait! Hang on. Are you going to be OK?"));
Assert.Equal("Fine. Be that way!", Bob.Response(" "));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Silence()
public void Alternate_silence()
{
Assert.Equal("Fine. Be that way!", Bob.Response(""));
Assert.Equal("Fine. Be that way!", Bob.Response("\t\t\t\t\t\t\t\t\t\t"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Prolonged_silence()
public void Other_whitespace()
{
Assert.Equal("Fine. Be that way!", Bob.Response(" "));
Assert.Equal("Fine. Be that way!", Bob.Response("\n\r \t"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Alternate_silence()
public void Talking_forcefully()
{
Assert.Equal("Fine. Be that way!", Bob.Response("\t\t\t\t\t\t\t\t\t\t"));
Assert.Equal("Whatever.", Bob.Response("Hi there!"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Starting_with_whitespace()
public void Using_acronyms_in_regular_speech()
{
Assert.Equal("Whatever.", Bob.Response(" hmmmmmmm..."));
Assert.Equal("Whatever.", Bob.Response("It's OK if you don't want to go work for NASA."));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Ending_with_whitespace()
public void No_letters()
{
Assert.Equal("Sure.", Bob.Response("Okay if like my spacebar quite a bit? "));
Assert.Equal("Whatever.", Bob.Response("1, 2, 3"));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Other_whitespace()
public void Statement_containing_question_mark()
{
Assert.Equal("Fine. Be that way!", Bob.Response("\n\r \t"));
Assert.Equal("Whatever.", Bob.Response("Ending with ? means a question."));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Non_question_ending_with_whitespace()
public void Starting_with_whitespace()
{
Assert.Equal("Whatever.", Bob.Response("This is a statement ending with whitespace "));
Assert.Equal("Whatever.", Bob.Response(" hmmmmmmm..."));
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void Multiple_line_question()
public void Non_question_ending_with_whitespace()
{
Assert.Equal("Sure.", Bob.Response("\nDoes this cryogenic chamber make\n me look fat?"));
Assert.Equal("Whatever.", Bob.Response("This is a statement ending with whitespace "));
}
}
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
30 changes: 28 additions & 2 deletions exercises/practice/connect/ConnectTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public void An_empty_board_has_no_winner()
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void X_can_win_on_a_1x1_board()
public void X_can_win_on_a_1x_1_board()
{
string[] board = [
"X"
Expand All @@ -25,7 +25,7 @@ public void X_can_win_on_a_1x1_board()
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void O_can_win_on_a_1x1_board()
public void O_can_win_on_a_1x_1_board()
{
string[] board = [
"O"
Expand Down Expand Up @@ -89,6 +89,32 @@ public void X_wins_crossing_from_left_to_right()
Assert.Equal(ConnectWinner.Black, sut.Result());
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void X_wins_with_left_hand_dead_end_fork()
{
string[] board = [
". . X .",
" X X . .",
" . X X X",
" O O O O"
];
var sut = new Connect(board);
Assert.Equal(ConnectWinner.Black, sut.Result());
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void X_wins_with_right_hand_dead_end_fork()
{
string[] board = [
". . X X",
" X X . .",
" . X X .",
" O O O O"
];
var sut = new Connect(board);
Assert.Equal(ConnectWinner.Black, sut.Result());
}

[Fact(Skip = "Remove this Skip property to run this test")]
public void O_wins_crossing_from_top_to_bottom()
{
Expand Down
Loading
Loading