[面向对象]定义一个矩形类 Rectangle ,要求其有计算周长的 Perimeter 、面积的方法 Area ,并采 unittest 进行简单测试。
时间: 2024-03-20 09:43:36 浏览: 98
好的,下面是矩形类的定义:
```python
class Rectangle:
def __init__(self, length, width):
self.length = length
self.width = width
def perimeter(self):
return 2 * (self.length + self.width)
def area(self):
return self.length * self.width
```
上述代码中,我们定义了一个 `Rectangle` 类,其包含 `__init__`、`perimeter` 和 `area` 三个方法。其中,`__init__` 方法用于初始化矩形的长度和宽度,`perimeter` 方法用于计算矩形的周长,`area` 方法用于计算矩形的面积。
接下来,我们可以采用 `unittest` 模块进行简单测试:
```python
import unittest
class TestRectangle(unittest.TestCase):
def test_perimeter(self):
r = Rectangle(3, 4)
self.assertEqual(r.perimeter(), 14)
def test_area(self):
r = Rectangle(3, 4)
self.assertEqual(r.area(), 12)
if __name__ == '__main__':
unittest.main()
```
上述代码中,我们定义了一个名为 `TestRectangle` 的测试类,并在其中定义了两个测试方法,分别用于测试 `perimeter` 和 `area` 方法的正确性。我们可以使用 `assertEqual` 方法来判断矩形的周长和面积是否与预期值相等。
最后,在 `if __name__ == '__main__':` 中调用 `unittest.main()` 方法执行测试。
阅读全文