Homework Task
- Install Junit(4.12), Hamcrest(1.3) with Eclipse
- Install Eclemma with Eclipse
- Write a java program for the triangle problem and test the program with Junit.
- Description of triangle problem:
Function triangle takes three integers a,b,c which are length of triangle sides; calculates whether the triangle is equilateral, isosceles, or scalene.
- Description of triangle problem:
1. Task 1
- 右击project,点击properties,在弹出的面板中选择Java Build Path
- 选择Libraries, 点击Add External JARs, 找到Junit-4.12.jar 及hamcrest-all-1.3.jar包的路径,选择这两个jar包后选择OK即可
2. Task 2
对于Eclipse3.6+的版本,最简洁的方法是用Eclipse Marketplace Client,具体方法如下:
1. 在Eclipse中选择Help
→
Eclipse Marketplace
2. 搜索 “EclEmma”
3. 在”EclEmma Java Code Coverage” 中选择安装即可
4. 之后顺着Installation Wizard的要求即可
其它安装方法详见官网:
http://eclemma.org/installation.html
Task3
- 创建一个Triangle类,用于判断输入的三角形的种类
public class Triangle {
public int triangle(int a, int b, int c){
// return parameters:
// 0 stands for non-triangle
// 1 stands for equilateral
// 2 stands for isosceles
// 3 stands for scalene
if(isTriangle(a, b, c)){
if(a == b && b == c){
return 1;
}else if(a == b || b == c || a == c){
return 2;
}else{
return 3;
}
}else{
return 0;
}
}
private boolean isTriangle(int a, int b, int c){
if(a + b > c && a + c > b && b + c > a){
return true;
}else{
return false;
}
}
}
Triangle类中有两个函数,其中一个辅助函数用于判断输入的三边是否可构成一三角形
2. 编写测试类TestTriangle及测试用例
import org.junit.Test;
import static org.junit.Assert.*;
public class TestTriangle {
private Triangle tri;
@Test
public void test(){
tri = new Triangle();
assertEquals(0, tri.triangle(1, 2, 3));
assertEquals(1, tri.triangle(2, 2, 2));
assertEquals(2, tri.triangle(2, 2, 3));
assertEquals(3, tri.triangle(2, 3, 4));
}
}
3.点击运行按钮及coverage launcher , 运行结果如下: