mirror of
https://codeberg.org/andyscott/exercism.git
synced 2024-12-22 14:43:10 -05:00
49 lines
1.4 KiB
Zig
49 lines
1.4 KiB
Zig
|
const std = @import("std");
|
||
|
const testing = std.testing;
|
||
|
|
||
|
const pangram = @import("pangram.zig");
|
||
|
|
||
|
test "empty sentence" {
|
||
|
try testing.expect(!pangram.isPangram(""));
|
||
|
}
|
||
|
|
||
|
test "perfect lower case" {
|
||
|
try testing.expect(pangram.isPangram("abcdefghijklmnopqrstuvwxyz"));
|
||
|
}
|
||
|
|
||
|
test "only lower case" {
|
||
|
try testing.expect(pangram.isPangram("the quick brown fox jumps over the lazy dog"));
|
||
|
}
|
||
|
|
||
|
test "missing the letter 'x'" {
|
||
|
try testing.expect(!pangram.isPangram("a quick movement of the enemy will jeopardize five gunboats"));
|
||
|
}
|
||
|
|
||
|
test "missing the letter 'h'" {
|
||
|
try testing.expect(!pangram.isPangram("five boxing wizards jump quickly at it"));
|
||
|
}
|
||
|
|
||
|
test "with underscores" {
|
||
|
try testing.expect(pangram.isPangram("the_quick_brown_fox_jumps_over_the_lazy_dog"));
|
||
|
}
|
||
|
|
||
|
test "with numbers" {
|
||
|
try testing.expect(pangram.isPangram("the 1 quick brown fox jumps over the 2 lazy dogs"));
|
||
|
}
|
||
|
|
||
|
test "missing letters replaced by numbers" {
|
||
|
try testing.expect(!pangram.isPangram("7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog"));
|
||
|
}
|
||
|
|
||
|
test "mixed case and punctuation" {
|
||
|
try testing.expect(pangram.isPangram("\"Five quacking Zephyrs jolt my wax bed.\""));
|
||
|
}
|
||
|
|
||
|
test "a-m and A-M are 26 different characters but not a pangram" {
|
||
|
try testing.expect(!pangram.isPangram("abcdefghijklm ABCDEFGHIJKLM"));
|
||
|
}
|
||
|
|
||
|
test "non-alphanumeric printable ASCII" {
|
||
|
try testing.expect(!pangram.isPangram(" !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"));
|
||
|
}
|