盒装饮料 自动售货机的单元测试代码
时间: 2024-09-26 17:01:08 浏览: 32
盒装饮料自动售货机的单元测试通常会针对它的核心功能模块编写,比如识别货币、选择商品、处理支付等。下面是一个简单的Python示例,假设我们有一个`CoinDetector`类和一个`ProductDispenser`类:
```python
from unittest import TestCase
class CoinDetectorTest(TestCase):
def test_valid_coins(self):
detector = CoinDetector()
self.assertTrue(detector.is_valid_coin(0.5)) # 一角硬币
self.assertTrue(detector.is_valid_coin(1.0)) # 一元硬币
def test_invalid_coins(self):
detector = CoinDetector()
self.assertFalse(detector.is_valid_coin(-0.1)) # 负值无效
self.assertFalse(detector.is_valid_coin(2.0)) # 非常用面额无效
class ProductDispenserTest(TestCase):
def test_select_and_dispense_product(self):
dispenser = ProductDispenser()
dispenser.select_product('Coke', 2.0)
self.assertEqual(dispenser.dispense(), ' Dispensed Coke for 2.0')
def test_insufficient_funds(self):
dispenser = ProductDispenser()
dispenser.select_product('Coke', 2.0) # 先选了商品
self.assertRaises(Exception, dispenser.dispense, funds=1.0) # 试图用不足的钱支付
# 运行测试
if __name__ == '__main__':
unittest.main()
```
阅读全文