|
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class CalculationTest {
private Calculation ca; // 定义Calculation引用,测试时候需要调用各种计算方法
@Before
public void setUp() throws Exception {
ca = new Calculation(); // 在测试开始之前首先初始化ca引用
}
/**
* 测试Calculation中的add方法。测试数据通常选择一些临界数据(0、1、-1)和必
* 须的测试数据
*/
@Test
public void testAdd() {
/*
* assertEquals(Object,Object)方法用于检测方法的返回值跟预期的结果是否
* 一致。所有的测试数据都通过之后才能说明add方法测试通过
*/
assertEquals(40, ca.add(10, 30));
assertEquals(40, ca.add(20, 20));
assertEquals(40, ca.add(30, 10));
assertEquals(40, ca.add(40, 0));
assertEquals(40, ca.add(0, 40));
assertEquals(40, ca.add(-0, 40));
assertEquals(40, ca.add(40, 0));
assertEquals(40, ca.add(80, -40));
assertEquals(40, ca.add(-40, 80));
assertEquals(0, ca.add(0, 0));
assertEquals(0, ca.add(-0, 0));
assertEquals(0, ca.add(0, -0));
assertEquals(1, ca.add(2, -1));
assertEquals(-1, ca.add(-2, 1));
}
/**
* 测试calculation的subtration方法
*/
@Test
public void testSubtration() {
assertEquals(-20, ca.subtration(10, 30));
assertEquals(0, ca.subtration(20, 20));
assertEquals(20, ca.subtration(30, 10));
assertEquals(40, ca.subtration(40, 0));
assertEquals(-40, ca.subtration(0, 40));
assertEquals(-40, ca.subtration(-0, 40));
assertEquals(40, ca.subtration(40, 0));
assertEquals(120, ca.subtration(80, -40));
assertEquals(-120, ca.subtration(-40, 80));
assertEquals(0, ca.subtration(0, 0));
assertEquals(0, ca.subtration(-0, 0));
assertEquals(0, ca.subtration(0, -0));
assertEquals(3, ca.subtration(2, -1));
assertEquals(-3, ca.subtration(-2, 1));
}
/**
* 测试calculation的multiplication方法
*/
@Test
public void testMultiplication() {
assertEquals(300, ca.multiplication(10, 30));
assertEquals(400, ca.multiplication(20, 20));
assertEquals(300, ca.multiplication(30, 10));
assertEquals(0, ca.multiplication(40, 0));
assertEquals(0, ca.multiplication(0, 40));
assertEquals(0, ca.multiplication(-0, 40));
assertEquals(0, ca.multiplication(40, 0));
assertEquals(-3200, ca.multiplication(80, -40));
assertEquals(-3200, ca.multiplication(-40, 80));
assertEquals(0, ca.multiplication(0, 0));
assertEquals(0, ca.multiplication(-0, 0));
assertEquals(0, ca.multiplication(0, -0));
assertEquals(-2, ca.multiplication(2, -1));
assertEquals(-2, ca.multiplication(-2, 1));
}
/**
* 测试calculation的division方法
*/
@Test
public void testDivision() {
assertEquals(0, ca.division(10, 30));
assertEquals(1, ca.division(20, 20));
assertEquals(3, ca.division(30, 10));
assertEquals(0, ca.division(0, 40));
assertEquals(0, ca.division(-0, 40));
assertEquals(-2, ca.division(80, -40));
assertEquals(0, ca.division(-40, 80));
assertEquals(-2, ca.division(2, -1));
assertEquals(-2, ca.division(-2, 1));
}
/**
* 测试除数为0的时候是否抛出异常
*/
@Test(expected = IllegalArgumentException.class)
public void testDivisionException() {
ca.division(40, 0);
ca.division(40, 0);
ca.division(0, 0);
ca.division(-0, 0);
ca.division(0, -0);
}
}
|