⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 machinebeantest.java

📁 自动售货机
💻 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 + -