我写了如下的一个类:importjava.math.BigDecimal;publicclassDecimalClass{publicBigDecimaladdFloat(floatf1,floatf2){BigDecimalfb1=newBigDecimal(f1);BigDecimalfb2=newBigDecim...
我写了如下的一个类:
import java.math.BigDecimal;
public class DecimalClass {
public BigDecimal addFloat(float f1, float f2) {
BigDecimal fb1 = new BigDecimal(f1);
BigDecimal fb2 = new BigDecimal(f2);
fb1.add(fb2);
return fb1;
}
public BigDecimal subFloat(int f1, int f2) {
BigDecimal fb1 = new BigDecimal(f1);
BigDecimal fb2 = new BigDecimal(f2);
if(fb1.compareTo(fb2)>0) {
return fb1.subtract(fb2);
} else {
return fb2.subtract(fb1);
}
}
}
然后用Junit测试 测试类如下
package edu.hunnu.demo.test;
import java.math.BigDecimal;
import junit.framework.TestCase;
import org.junit.Ignore;
import org.junit.Test;
import edu.hunnu.demo.DecimalClass;
public class DecimalClassTest extends TestCase{
private DecimalClass dec;
public void setup() {
dec = new DecimalClass();
}
@Test
public void testAddFloat() {
float f1 = 150.00f;
float f2 = 100;
float expect = 250.00f;
BigDecimal bd = dec.addFloat(f1, f2);
System.out.print("bd's value after add: "+bd);
assertEquals(expect, bd.floatValue(),0.1f);
}
@Ignore
public void testSubFloat() {
int f1 = 100;
int f2 = 150;
BigDecimal bd = dec.subFloat(f1, f2);
System.out.print("bd's value after substract: "+bd);
assertEquals(50, bd.intValue());
}
}
想请教的是为什么会两个测试都是讨厌的red,请指出问题原因并给出正确的测试类,感激不尽!!
我找到原因了,setup的u字母没有大写。郁闷啊 !!!
展开