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
86 changes: 43 additions & 43 deletions exercises/practice/bob/.meta/tests.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,82 +9,82 @@
# 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"

[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"
126 changes: 66 additions & 60 deletions exercises/practice/bob/test_bob.zig
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ const testing = std.testing;

const response = @import("bob.zig").response;

test "stating something" {
const expected = "Whatever.";
const actual = response("Tom-ay-to, tom-aaaah-to.");
test "asking a question" {
const expected = "Sure.";
const actual = response("Does this cryogenic chamber make me look fat?");
try testing.expectEqualStrings(expected, actual);
}

Expand All @@ -15,15 +15,21 @@ test "shouting" {
try testing.expectEqualStrings(expected, actual);
}

test "shouting gibberish" {
const expected = "Whoa, chill out!";
const actual = response("FCECDFCAAB");
test "forceful question" {
const expected = "Calm down, I know what I'm doing!";
const actual = response("WHAT'S GOING ON?");
try testing.expectEqualStrings(expected, actual);
}

test "asking a question" {
const expected = "Sure.";
const actual = response("Does this cryogenic chamber make me look fat?");
test "silence" {
const expected = "Fine. Be that way!";
const actual = response("");
try testing.expectEqualStrings(expected, actual);
}

test "stating something" {
const expected = "Whatever.";
const actual = response("Tom-ay-to, tom-aaaah-to.");
try testing.expectEqualStrings(expected, actual);
}

Expand All @@ -39,116 +45,116 @@ test "asking gibberish" {
try testing.expectEqualStrings(expected, actual);
}

test "talking forcefully" {
const expected = "Whatever.";
const actual = response("Hi there!");
test "question with no letters" {
const expected = "Sure.";
const actual = response("4?");
try testing.expectEqualStrings(expected, actual);
}

test "using acronyms in regular speech" {
const expected = "Whatever.";
const actual = response("It's OK if you don't want to go work for NASA.");
test "non-letters with question" {
const expected = "Sure.";
const actual = response(":) ?");
try testing.expectEqualStrings(expected, actual);
}

test "forceful question" {
const expected = "Calm down, I know what I'm doing!";
const actual = response("WHAT'S GOING ON?");
test "prattling on" {
const expected = "Sure.";
const actual = response("Wait! Hang on. Are you going to be OK?");
try testing.expectEqualStrings(expected, actual);
}

test "shouting numbers" {
const expected = "Whoa, chill out!";
const actual = response("1, 2, 3 GO!");
test "ending with whitespace" {
const expected = "Sure.";
const actual = response("Okay if like my spacebar quite a bit? ");
try testing.expectEqualStrings(expected, actual);
}

test "no letters" {
const expected = "Whatever.";
const actual = response("1, 2, 3");
test "multiple line question" {
const expected = "Sure.";
const actual = response("\nDoes this cryogenic chamber make\n me look fat?");
try testing.expectEqualStrings(expected, actual);
}

test "question with no letters" {
const expected = "Sure.";
const actual = response("4?");
test "shouting gibberish" {
const expected = "Whoa, chill out!";
const actual = response("FCECDFCAAB");
try testing.expectEqualStrings(expected, actual);
}

test "shouting with special characters" {
test "shouting a statement containing a question mark" {
const expected = "Whoa, chill out!";
const actual = response("ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!");
const actual = response("DO LIONS EAT PEOPLE? AHHHHH.");
try testing.expectEqualStrings(expected, actual);
}

test "shouting with no exclamation mark" {
test "shouting numbers" {
const expected = "Whoa, chill out!";
const actual = response("I HATE THE DENTIST");
const actual = response("1, 2, 3 GO!");
try testing.expectEqualStrings(expected, actual);
}

test "statement containing question mark" {
const expected = "Whatever.";
const actual = response("Ending with ? means a question.");
test "shouting with special characters" {
const expected = "Whoa, chill out!";
const actual = response("ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!");
try testing.expectEqualStrings(expected, actual);
}

test "non-letters with question" {
const expected = "Sure.";
const actual = response(":) ?");
test "shouting with no exclamation mark" {
const expected = "Whoa, chill out!";
const actual = response("I HATE THE DENTIST");
try testing.expectEqualStrings(expected, actual);
}

test "prattling on" {
const expected = "Sure.";
const actual = response("Wait! Hang on. Are you going to be OK?");
test "prolonged silence" {
const expected = "Fine. Be that way!";
const actual = response(" ");
try testing.expectEqualStrings(expected, actual);
}

test "silence" {
test "alternate silence" {
const expected = "Fine. Be that way!";
const actual = response("");
const actual = response("\t\t\t\t\t\t\t\t\t\t");
try testing.expectEqualStrings(expected, actual);
}

test "prolonged silence" {
test "other whitespace" {
const expected = "Fine. Be that way!";
const actual = response(" ");
const actual = response("\n\r \t");
try testing.expectEqualStrings(expected, actual);
}

test "alternate silence" {
const expected = "Fine. Be that way!";
const actual = response("\t\t\t\t\t\t\t\t\t\t");
test "talking forcefully" {
const expected = "Whatever.";
const actual = response("Hi there!");
try testing.expectEqualStrings(expected, actual);
}

test "starting with whitespace" {
test "using acronyms in regular speech" {
const expected = "Whatever.";
const actual = response(" hmmmmmmm...");
const actual = response("It's OK if you don't want to go work for NASA.");
try testing.expectEqualStrings(expected, actual);
}

test "ending with whitespace" {
const expected = "Sure.";
const actual = response("Okay if like my spacebar quite a bit? ");
test "no letters" {
const expected = "Whatever.";
const actual = response("1, 2, 3");
try testing.expectEqualStrings(expected, actual);
}

test "other whitespace" {
const expected = "Fine. Be that way!";
const actual = response("\n\r \t");
test "statement containing question mark" {
const expected = "Whatever.";
const actual = response("Ending with ? means a question.");
try testing.expectEqualStrings(expected, actual);
}

test "non-question ending with whitespace" {
test "starting with whitespace" {
const expected = "Whatever.";
const actual = response("This is a statement ending with whitespace ");
const actual = response(" hmmmmmmm...");
try testing.expectEqualStrings(expected, actual);
}

test "multiple line question" {
const expected = "Sure.";
const actual = response("\nDoes this cryogenic chamber make\n me look fat?");
test "non-question ending with whitespace" {
const expected = "Whatever.";
const actual = response("This is a statement ending with whitespace ");
try testing.expectEqualStrings(expected, actual);
}
Loading