Skip to content
4 changes: 2 additions & 2 deletions checks/oop_advanced/oop_advanced10.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
assert issubclass(Square, Shape)
assert Square(4).area() == 16
assert issubclass(Square, Shape), "Square should inherit from Shape"
assert Square(4).area() == 16, "Square(4).area() should be 16 (4 * 4)"
print("oop_advanced10 ok")
5 changes: 4 additions & 1 deletion checks/oop_advanced/oop_advanced11.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
product = Product("book", 12)
assert product.to_dict() == {"name": "book", "price": 12}
assert product.to_dict() == {"name": "book", "price": 12}, (
"Product('book', 12).to_dict() should return "
"{'name': 'book', 'price': 12}"
)
print("oop_advanced11 ok")
10 changes: 8 additions & 2 deletions checks/oop_advanced/oop_advanced12.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
result = Vector(1, 2) + Vector(3, 4)
assert isinstance(result, Vector)
assert (result.x, result.y) == (4, 6)
assert isinstance(result, Vector), (
f"Adding two Vector instances should return a Vector, "
f"got {type(result).__name__}"
)
assert (result.x, result.y) == (4, 6), (
f"Vector(1, 2) + Vector(3, 4) should be (4, 6), "
f"got {(result.x, result.y)!r}"
)
print("oop_advanced12 ok")
8 changes: 6 additions & 2 deletions checks/oop_advanced/oop_advanced7.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
assert Book("A", "123") == Book("B", "123")
assert Book("A", "123") != Book("C", "999")
assert Book("A", "123") == Book("B", "123"), (
"Two books with the same ISBN should be equal"
)
assert Book("A", "123") != Book("C", "999"), (
"Two books with different ISBNs should not be equal"
)
print("oop_advanced7 ok")
5 changes: 4 additions & 1 deletion checks/oop_advanced/oop_advanced8.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
coord = Coordinate.from_text("3,4")
assert (coord.x, coord.y) == (3, 4)
assert (coord.x, coord.y) == (3, 4), (
f"Coordinate.from_text('3,4') should produce (3, 4), "
f"got {(coord.x, coord.y)!r}"
)
print("oop_advanced8 ok")
8 changes: 5 additions & 3 deletions checks/oop_advanced/oop_advanced9.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
assert Grade.is_valid(0) is True
assert Grade.is_valid(100) is True
assert Grade.is_valid(101) is False
assert Grade.is_valid(0) is True, "Grade 0 should be a valid score"
assert Grade.is_valid(100) is True, "Grade 100 should be a valid score"
assert Grade.is_valid(101) is False, (
"Grade 101 should be rejected as out of range"
)
print("oop_advanced9 ok")
Loading