写一个测试杯子的测试用例
时间: 2023-07-04 20:14:26 浏览: 78
好的,下面是一个测试杯子的测试用例:
```python
import unittest
from cup import Cup
class TestCup(unittest.TestCase):
def test_add_water(self):
# 测试往杯子中添加水的行为
cup = Cup(volume=500, current_volume=0)
cup.add_water(250)
self.assertEqual(cup.current_volume, 250)
cup.add_water(300)
self.assertEqual(cup.current_volume, 500)
def test_drink_water(self):
# 测试从杯子中喝水的行为
cup = Cup(volume=500, current_volume=500)
cup.drink_water(250)
self.assertEqual(cup.current_volume, 250)
cup.drink_water(300)
self.assertEqual(cup.current_volume, 0)
def test_invalid_add_water(self):
# 测试添加超过杯子容量的水的行为
cup = Cup(volume=500, current_volume=0)
with self.assertRaises(ValueError):
cup.add_water(600)
def test_invalid_drink_water(self):
# 测试喝超过杯子水量的水的行为
cup = Cup(volume=500, current_volume=0)
with self.assertRaises(ValueError):
cup.drink_water(100)
if __name__ == '__main__':
unittest.main()
```
在这个测试用例中,我们编写了四个测试方法:
- test_add_water:测试往杯子中添加水的行为
- test_drink_water:测试从杯子中喝水的行为
- test_invalid_add_water:测试添加超过杯子容量的水的行为
- test_invalid_drink_water:测试喝超过杯子水量的水的行为
我们分别测试了正常情况下添加水和喝水的行为,以及添加和喝超过杯子容量和水量的水时的异常情况。我们使用 assertEqual 方法来确保杯子中的水量符合预期,并使用 assertRaises 方法来确保在添加和喝超过杯子容量和水量的水时会抛出 ValueError 异常。
通过这个测试用例,我们可以确保 Cup 类的行为符合预期,从而提高代码的质量和可靠性。