import unittest from datetime import datetime from hello_hut.greetings import greet from hello_hut.greetings import time_of_day_greeting class GreetTest(unittest.TestCase): def test_default_name(self): self.assertEqual(greet(), "Hello, friend!") def test_custom_name(self): self.assertEqual(greet("Ada"), "Hello, Ada!") def test_shout(self): self.assertEqual(greet("Ada", shout=True), "HELLO, ADA!") def test_shout_keeps_accents(self): self.assertEqual(greet("Zoë", shout=True), "HELLO, ZOË!") def test_time_of_day(self): def at(hour): return datetime(2026, 1, 1, hour) self.assertEqual(time_of_day_greeting(at(8)), "Good morning") self.assertEqual(time_of_day_greeting(at(13)), "Good afternoon") self.assertEqual(time_of_day_greeting(at(21)), "Good evening") def test_lang(self): self.assertEqual(greet("Ada", lang="fr"), "Bonjour, Ada!") self.assertEqual(greet("Ada", lang="xx"), "Hello, Ada!") if __name__ == "__main__": unittest.main()