使用Junit5实现以下SaleMachine类的七个测试方法:
1、如果顾客投入的正好是5角钱,选择“啤酒”,断言“你购买了啤酒,请取饮料”
2、如果啤酒的库存为空,断言“对不起,啤酒库存为空,请取走你的钱”
3、如果顾客投入的正好是5角钱,选择的是这两种之外的其他饮料,断言“输入饮料信息错误!”
4、如果顾客投入1元钱,那么顾客可以在饮料有剩余且有零钱找的情况下得到饮料及找回零钱,断言“你购买了啤酒,请取饮料和找零”
5、如果顾客投入1元钱,但是啤酒已经售完了,那么顾客将拿回自己的钱,得不到啤酒,断言“饮料库存为空,请取回你的硬币”
6、如果顾客投入1元钱,啤酒也有,但是没有零钱找给顾客,那么顾客将拿回自己的钱,得不到饮料,断言“对不起,无法找零,请取走你的钱”
7、如果顾客投入的既不是5角钱,也不是1元钱,断言“硬币输入信息错误!”
public class SaleMachine {
private int _beerNum, _orangeNum, _count_of_five, _count_of_one;
private float _total;
private String[] _type = {
"beer", "orange" };
private String _result;
public SaleMachine(int beer, int orange, int five, int one) {
this._beerNum = beer; // 初始化啤酒的库存
this._orangeNum = orange;// 初始化橙汁的库存
this._count_of_five = five;// 初始化5角钱的数量
this._count_of_one = one;// 初始化1元钱的数量
}
// type是用户选择的产品,money是用户投币的种类
public String Operate(String type, int money) {
// float loose_change=0;
if (money == 5) {
//如果投入5角钱
if (type.equals(_type[0])) {
//如果用户选择啤酒
if (_beerNum >= 1) {
//如果还有啤酒