pacman-rules

This commit is contained in:
Alexander Heldt
2025-10-30 19:47:49 +01:00
parent 70cfb196b8
commit 3c64c873ef
10 changed files with 298 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
import exercism/test_runner
import pacman_rules
pub fn main() {
test_runner.main()
}
pub fn ghost_gets_eaten_test() {
let assert True = pacman_rules.eat_ghost(True, True)
}
pub fn ghost_does_not_get_eaten_because_no_power_pellet_active_test() {
let assert False = pacman_rules.eat_ghost(False, True)
}
pub fn ghost_does_not_get_eaten_because_not_touching_ghost_test() {
let assert False = pacman_rules.eat_ghost(True, False)
}
pub fn ghost_does_not_get_eaten_because_no_power_pellet_is_active_even_if_not_touching_ghost_test() {
let assert False = pacman_rules.eat_ghost(False, False)
}
pub fn score_when_eating_dot_test() {
let assert True = pacman_rules.score(True, False)
}
pub fn score_when_eating_power_pellet_test() {
let assert True = pacman_rules.score(False, True)
}
pub fn no_score_when_nothing_eaten_test() {
let assert False = pacman_rules.score(False, False)
}
pub fn lose_if_touching_ghost_without_power_pellet_active_test() {
let assert True = pacman_rules.lose(False, True)
}
pub fn dont_lose_if_touching_ghost_with_power_pellet_active_test() {
let assert False = pacman_rules.lose(True, True)
}
pub fn dont_lose_if_not_touching_ghost_test() {
let assert False = pacman_rules.lose(True, False)
}
pub fn win_if_all_dots_eaten_test() {
let assert True = pacman_rules.win(True, False, False)
}
pub fn dont_win_if_all_dots_eaten_but_touching_ghost_test() {
let assert False = pacman_rules.win(True, False, True)
}
pub fn win_if_all_dots_eaten_and_touching_ghost_with_power_pellet_active_test() {
let assert True = pacman_rules.win(True, True, True)
}