您可以为下面的枚举类编写多少个测试。我正在寻找以下的O / P.
给出以下命令
java fileName HORIZON_BOX, HORIZON_BOX_WITH_CC,HORIZON_BOX_WITH_CC
1 HORIZON_BOX: 20.00
2 HORIZON_BOX_WITH_CC @ 30.00 : 60.00
GRAND TOTAL : 80.00
解决此问题的最佳解决方案是什么?
public enum Product {
HORIZON_BOX(30.00),
HORIZON_BOX_WITH_CC(50.00),
HORIZON_BOX_WITH_CC_2_TB(100.00),
HORIZON_MULTIROOM(75.00),
HUB(20.00);
private double price;
private Product(double price) {
this.price = price;
}
public double getPrice() {
return price;
}
}
答案 0 :(得分:2)
我认为对这个枚举有意义的唯一测试是创建每个值的实例并检查getPrice()方法是否返回预期的价格。
关于你使用enum做的算术:这是一个不同的问题,如果没有看到你做这个和你的要求的实际来源,就无法回答。设计单元测试时通常的思考过程是:
顺便说一下:你不应该用double来表示货币价值。您应该使用BigDecimal,因为它允许您指定小数位数和舍入策略。正常的双重算术不遵循金融交易中惯常的舍入规则。有关详细信息,请参阅this question。