From 413d4a0317c54c74e85871b019adf1946f71d3a8 Mon Sep 17 00:00:00 2001 From: ytwei Date: Thu, 27 Aug 2026 20:17:19 +0800 Subject: [PATCH] fix(curriculum): add actionable advanced OOP assertion messages --- checks/oop_advanced/oop_advanced1.py | 4 ++-- checks/oop_advanced/oop_advanced2.py | 8 ++++++-- checks/oop_advanced/oop_advanced3.py | 2 +- checks/oop_advanced/oop_advanced4.py | 2 +- checks/oop_advanced/oop_advanced5.py | 2 +- checks/oop_advanced/oop_advanced6.py | 4 +++- 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/checks/oop_advanced/oop_advanced1.py b/checks/oop_advanced/oop_advanced1.py index b99139f..fc038f3 100644 --- a/checks/oop_advanced/oop_advanced1.py +++ b/checks/oop_advanced/oop_advanced1.py @@ -1,4 +1,4 @@ dog = Dog() -assert isinstance(dog, Animal) -assert dog.speak() == "sound" +assert isinstance(dog, Animal), "dog should be an instance of Animal" +assert dog.speak() == "sound", "dog.speak() should return 'sound'" print("oop_advanced1 ok") diff --git a/checks/oop_advanced/oop_advanced2.py b/checks/oop_advanced/oop_advanced2.py index 2f17a53..53401b5 100644 --- a/checks/oop_advanced/oop_advanced2.py +++ b/checks/oop_advanced/oop_advanced2.py @@ -1,4 +1,8 @@ employee = Employee("Ada", "Engineer") -assert employee.name == "Ada" -assert employee.role == "Engineer" +assert employee.name == "Ada", ( + f"employee.name should be 'Ada', got {employee.name!r}" +) +assert employee.role == "Engineer", ( + f"employee.role should be 'Engineer', got {employee.role!r}" +) print("oop_advanced2 ok") diff --git a/checks/oop_advanced/oop_advanced3.py b/checks/oop_advanced/oop_advanced3.py index 924f784..00738d5 100644 --- a/checks/oop_advanced/oop_advanced3.py +++ b/checks/oop_advanced/oop_advanced3.py @@ -1,3 +1,3 @@ shapes = [Square(3), Rectangle(2, 5)] -assert total_area(shapes) == 19 +assert total_area(shapes) == 19, "total_area(shapes) should be 19" print("oop_advanced3 ok") diff --git a/checks/oop_advanced/oop_advanced4.py b/checks/oop_advanced/oop_advanced4.py index b3b5bd8..827e90c 100644 --- a/checks/oop_advanced/oop_advanced4.py +++ b/checks/oop_advanced/oop_advanced4.py @@ -1,3 +1,3 @@ user = User("Lin") -assert user.name == "Lin" +assert user.name == "Lin", f"user.name should be 'Lin', got {user.name!r}" print("oop_advanced4 ok") diff --git a/checks/oop_advanced/oop_advanced5.py b/checks/oop_advanced/oop_advanced5.py index 3ef9051..5721752 100644 --- a/checks/oop_advanced/oop_advanced5.py +++ b/checks/oop_advanced/oop_advanced5.py @@ -1,3 +1,3 @@ playlist = Playlist(["one", "two", "three"]) -assert len(playlist) == 3 +assert len(playlist) == 3, "len(playlist) should be 3" print("oop_advanced5 ok") diff --git a/checks/oop_advanced/oop_advanced6.py b/checks/oop_advanced/oop_advanced6.py index 5d5043f..bb50439 100644 --- a/checks/oop_advanced/oop_advanced6.py +++ b/checks/oop_advanced/oop_advanced6.py @@ -1,2 +1,4 @@ -assert repr(Point(2, 5)) == "Point(x=2, y=5)" +assert repr(Point(2, 5)) == "Point(x=2, y=5)", ( + "Point(2, 5) should be represented as 'Point(x=2, y=5)'" +) print("oop_advanced6 ok")