实验报告
a) The brief description that I install junit, hamcrest and eclemma.
Junit,hamcrest
上网下载junit,hamrest包,然后在项目中新建文件夹lib,复制包到其中,然后单击项目->build path -> configer build path,然后在把包加入,如图
Eclemma
解压 eclemma压缩包,将其复制于eclipse->dropins文件夹下。删除META-INF文件夹。
b) The test result and coverage report (print screen) of your tests on triangle problem.
代码:
package homeWork1;
public class Triangle {
public boolean lengthTest(int a , int b, int c){ if ( a + b > c && a + c > b && b + c > a){ return true; }else{ return false; } } public boolean isPositive(int a , int b , int c){ boolean ans = true; if (a <= 0 || b <= 0 || c <=0 ){ ans = false; //System.out.println("The number of edge must be a positive number"); } return ans; } public boolean isTriangle(int a, int b , int c){ if(isPositive(a,b,c)){ if(lengthTest(a,b,c)){ return true; }else{ //System.out.println("It can't be a triangle."); return false; } }else{ return false; } } public String function(int a, int b, int c){ if(isTriangle(a,b,c)){ if (a == b && b == c){ return "equilateral"; }else if(a == b || b == c || a == c){ return "isosceles"; }else{ return "scalene"; } }else{ return "noTriangle"; } }}
测试代码;
package homeWork1;
import static org.junit.Assert.assertEquals;
import org.junit.After;
import org.junit.Before;import org.junit.Test;public class TriangleTest {
Triangle t1 = new Triangle(); public void test(){ assertEquals("noTriangle",t1.function(-1, 2, 3)); assertEquals("noTriangle",t1.function(1, 2, 3)); assertEquals("noTriangle",t1.function(8, 2, 3)); assertEquals("equilateral",t1.function(3, 3, 3)); assertEquals("isosceles",t1.function(3, 3, 2)); assertEquals("scalene",t1.function(3, 4, 2)); } public static void main(String[] args) { TriangleTest t2 = new TriangleTest(); t2.test(); }}
覆盖结果: