?? 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 + -