diff --git a/exercises/zebra-puzzle/example.py b/exercises/zebra-puzzle/example.py index 9ab37a7897b..c16ec13d973 100644 --- a/exercises/zebra-puzzle/example.py +++ b/exercises/zebra-puzzle/example.py @@ -37,5 +37,14 @@ def solution(): for (dog, snails, fox, horse, zebra) in orderings if Spaniard is dog if OldGold is snails if next_to(Chesterfields, fox) if next_to(Kools, horse)) - return ("It is the {} who drinks the water.\n" - "The {} keeps the zebra.").format(*result) + return result + + +def drinks_water(): + ans, _ = solution() + return ans + + +def owns_zebra(): + _, ans = solution() + return ans diff --git a/exercises/zebra-puzzle/zebra_puzzle.py b/exercises/zebra-puzzle/zebra_puzzle.py index 4d6454cdc2f..2d78762755f 100644 --- a/exercises/zebra-puzzle/zebra_puzzle.py +++ b/exercises/zebra-puzzle/zebra_puzzle.py @@ -1,2 +1,6 @@ -def solution(): +def drinks_water(): + pass + + +def owns_zebra(): pass diff --git a/exercises/zebra-puzzle/zebra_puzzle_test.py b/exercises/zebra-puzzle/zebra_puzzle_test.py index 48dbaca8d0d..b2c0e011fcd 100644 --- a/exercises/zebra-puzzle/zebra_puzzle_test.py +++ b/exercises/zebra-puzzle/zebra_puzzle_test.py @@ -1,13 +1,16 @@ import unittest -from zebra_puzzle import solution +from zebra_puzzle import drinks_water, owns_zebra +# Tests adapted from `problem-specifications//canonical-data.json` @ v1.1.0 + class ZebraPuzzleTest(unittest.TestCase): - def test_solution(self): - self.assertEqual(solution(), - ("It is the Norwegian who drinks the water.\n" - "The Japanese keeps the zebra.")) + def test_resident_who_drinks_water(self): + self.assertEqual(drinks_water(), "Norwegian") + + def test_resident_who_owns_zebra(self): + self.assertEqual(owns_zebra(), "Japanese") if __name__ == '__main__':