定义一个矩形类Rectansle, 要求其有计算周长的Perimeter、面积的方法Area,井采用unittest进行简单测试。
时间: 2024-03-20 09:43:26 浏览: 83
以下是定义矩形类Rectangle并进行简单测试的代码:
```python
import unittest
class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
def Perimeter(self):
return 2 * (self.width + self.height)
def Area(self):
return self.width * self.height
class TestRectangle(unittest.TestCase):
def test_Perimeter(self):
r1 = Rectangle(2, 3)
self.assertEqual(r1.Perimeter(), 10)
r2 = Rectangle(5, 7)
self.assertEqual(r2.Perimeter(), 24)
def test_Area(self):
r1 = Rectangle(2, 3)
self.assertEqual(r1.Area(), 6)
r2 = Rectangle(5, 7)
self.assertEqual(r2.Area(), 35)
if __name__ == '__main__':
unittest.main()
```
首先,我们定义了一个矩形类 `Rectangle`,其中包含了矩形的长和宽属性,并且有计算周长和面积的方法。在 `Perimeter()` 方法中,使用矩形周长的公式 `2 * (width + height)` 计算周长;在 `Area()` 方法中,使用矩形面积的公式 `width * height` 计算面积。
接下来,我们利用 `unittest` 模块进行简单测试。我们定义了一个 `TestRectangle` 类,继承自 `unittest.TestCase` 类。在该类中,我们定义了两个测试方法 `test_Perimeter()` 和 `test_Area()`,分别测试计算周长和面积的方法是否正确。在每个测试方法中,我们先创建一个 `Rectangle` 的实例,并调用相应的方法计算结果,然后使用 `assertEqual()` 方法对计算结果与期望值进行比较,如果相等则测试通过,否则测试失败。
最后,我们在 `if __name__ == '__main__':` 中调用 `unittest.main()` 方法运行测试。运行测试后,如果所有测试都通过,则会输出 `OK`,否则会输出测试失败的详细信息。
阅读全文