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")
if __name__ == "__main__":
unittest.main()