📄 machinebeantest.java
字号:
package version2;
import static org.junit.Assert.*;
import org.junit.Test;
/**
* @author 洪琛
*/
public class machinebeanTest {
private static machinebean mb ;
/*
* 选取方法为getBeer()方法
* 以下分为各种覆盖方法的白盒单元测试
* 包括:语句覆盖,判定覆盖,条件覆盖,
* 判定-条件覆盖,修订的判定-条件覆盖,条件组合覆盖
*/
/*
* 测试方法:语句覆盖
*/
@Test
public void testgetBeer1(){
/*
* 覆盖可执行语句:
* beerNum--;
* jiaoNum-=beerPrice
* return true;
*/
mb = new machinebean(0,3,2,2,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("0",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 覆盖可执行语句:
* beerNum--;
* yuanNum-=2;
* jiaoNum=1;
*/
mb = new machinebean(2,0,2,2,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("1",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
}
/*
* 测试方法:判定覆盖
*/
@Test
public void testgetBeer2(){
/*
* 覆盖分支:
* beerNum--;
* jiaoNum-=beerPrice
* return true;
*/
mb = new machinebean(0,3,2,3,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("0",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 覆盖分支:
* beerNum--;
* jiaoNum-=1;
* yuanNum-=1;
*/
mb = new machinebean(1,1,2,2,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("0",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 覆盖分支:
* beerNum--;
* yuanNum-=2;
* jiaoNum=1;
*/
mb = new machinebean(2,0,2,2,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("1",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 覆盖分支语句:
* flag = true;
* return false;
*/
mb = new machinebean(2,0,2,0,4,3);
assertEquals(false,mb.getBeer());
assertEquals(true,mb.getFlag());
/*
* 覆盖分支语句:
* return false;
*/
mb = new machinebean(0,0,2,2,4,3);
assertEquals(false,mb.getBeer());
}
/*
* 测试方法:条件覆盖
*/
@Test
public void testgetBeer3(){
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为真
* 条件jiaoNum !=0 为真
* 条件jiaoNum >= beerPrice 为真
* 条件hasChange() 为真
*/
mb = new machinebean(1,3,2,3,4,3);
assertEquals(true,mb.getBeer());
assertEquals("1",mb.getYuanNum());
assertEquals("0",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 条件beerNum > 0 为假
* 条件jiaoNum !=0 为假
* 条件jiaoNum >= beerPrice 为假
* 条件hasChange() 为假
*/
mb = new machinebean(2,0,2,0,0,3);
assertEquals(false,mb.getBeer());
/*
* 条件getTotalNum()>=beerPrice 为假
*/
mb = new machinebean(0,0,2,2,4,3);
assertEquals(false,mb.getBeer());
}
/*
* 测试方法:条件-判定覆盖
*/
@Test
public void testgetBeer4(){
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为真
* 条件jiaoNum !=0 为真
* 条件jiaoNum >= beerPrice 为真
*/
/*
* 覆盖分支语句:
* beerNum--;
* jiaoNum-=beerPrice;
* return true;
*/
mb = new machinebean(0,3,2,3,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("0",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为真
* 条件jiaoNum !=0 为假
* 条件jiaoNum >= beerPrice 为假
* 条件hasChange() 为真
*/
/*
* 覆盖可执行语句:
* beerNum--;
* yuanNum-=2;
* jiaoNum=1;
* return true;
*/
mb = new machinebean(2,0,2,2,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("1",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 条件beerNum > 0 为假
* 条件jiaoNum !=0 为假
* 条件hasChange() 为假
*/
/*
* 覆盖分支语句:
* flag = true;
* return false;
*/
mb = new machinebean(2,0,2,0,0,4);
assertEquals(false,mb.getBeer());
/*
* 条件getTotalNum()>=beerPrice 为假
*/
/*
* 覆盖分支语句:
* return false;
*/
mb = new machinebean(0,0,2,2,4,3);
assertEquals(false,mb.getBeer());
}
/*
* 测试方法:修订的条件-判定覆盖
*/
@Test
public void testgetBeer5(){
/*
* 条件beerNum > 0 独立起作用
*/
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为真
*/
mb = new machinebean(0,3,2,3,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("0",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 条件beerNum > 0 为假
* 条件getTotalNum()>=beerPrice 为真
*/
mb = new machinebean(0,3,2,3,0,3);
assertEquals(false,mb.getBeer());
/*
* 条件getTotalNum()>=beerPrice 独立起作用
*/
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为真
*/
mb = new machinebean(1,1,2,2,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("0",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为假
*/
mb = new machinebean(0,0,2,2,4,3);
assertEquals(false,mb.getBeer());
/*
* 条件jiaoNum !=0 独立起作用
*/
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为真
* 条件jiaoNum !=0 为真
*/
mb = new machinebean(0,3,2,3,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("0",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为真
* 条件jiaoNum !=0 为假
*/
mb = new machinebean(2,0,2,2,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("1",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 条件jiaoNum >= beerPrice 独立起作用
*/
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为真
* 条件jiaoNum !=0 为真
* 条件jiaoNum >= beerPrice 为真
*/
mb = new machinebean(0,3,2,3,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("0",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为真
* 条件jiaoNum !=0 为真
* 条件jiaoNum >= beerPrice 为假
*/
mb = new machinebean(1,2,2,2,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("1",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 条件hasChange() 独立作用
*/
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为真
* 条件jiaoNum !=0 为假
* 条件hasChange() 为真
*/
mb = new machinebean(2,0,2,2,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("1",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为真
* 条件jiaoNum !=0 为假
* 条件hasChange() 为假
*/
mb = new machinebean(2,0,2,0,4,3);
assertEquals(false,mb.getBeer());
assertEquals(true,mb.getFlag());
}
/*
* 测试方法:条件组合覆盖
*/
@Test
public void testgetBeer6(){
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为真
*
* 条件jiaoNum !=0 为真
*
* 条件jiaoNum >= beerPrice 为真
*
* 条件hasChange() 为真
*/
mb = new machinebean(0,3,2,3,4,3);
assertEquals(true,mb.getBeer());
assertEquals("0",mb.getYuanNum());
assertEquals("0",mb.getJiaoNum());
assertEquals("3",mb.getBeerNum());
/*
* 条件beerNum > 0 为真
* 条件getTotalNum()>=beerPrice 为假
*
* 条件jiaoNum !=0 为假
*
* 条件jiaoNum >= beerPrice 为假
*
* 条件hasChange() 为假
*/
mb = new machinebean(0,0,2,2,4,3);
assertEquals(false,mb.getBeer());
/*
* 条件beerNum > 0 为假
* 条件getTotalNum()>=beerPrice 为真
*/
mb = new machinebean(0,3,2,3,0,3);
assertEquals(false,mb.getBeer());
/*
* 条件beerNum > 0 为假
* 条件getTotalNum()>=beerPrice 为假
*/
mb = new machinebean(0,0,2,2,0,3);
assertEquals(false,mb.getBeer());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -