对Triangle进行JUnit测试并设计测试用例使其满足100%语句覆盖
时间: 2024-01-20 18:02:19 浏览: 57
好的,Triangle是一个计算三角形类型和面积的类。为了使其满足100%语句覆盖,我们需要设计如下测试用例:
```java
import org.junit.Test;
import static org.junit.Assert.*;
public class TriangleTest {
@Test
public void testEquilateralTriangle() {
Triangle triangle = new Triangle(5, 5, 5);
assertEquals("Equilateral", triangle.getType());
assertEquals(10.825317547305483, triangle.getArea(), 0.000001);
}
@Test
public void testIsoscelesTriangle() {
Triangle triangle = new Triangle(5, 5, 8);
assertEquals("Isosceles", triangle.getType());
assertEquals(12.0, triangle.getArea(), 0.000001);
}
@Test
public void testScaleneTriangle() {
Triangle triangle = new Triangle(3, 4, 5);
assertEquals("Scalene", triangle.getType());
assertEquals(6.0, triangle.getArea(), 0.000001);
}
@Test
public void testInvalidTriangle1() {
Triangle triangle = new Triangle(0, 0, 0);
assertEquals("Invalid", triangle.getType());
assertEquals(0.0, triangle.getArea(), 0.000001);
}
@Test
public void testInvalidTriangle2() {
Triangle triangle = new Triangle(-1, 2, 3);
assertEquals("Invalid", triangle.getType());
assertEquals(0.0, triangle.getArea(), 0.000001);
}
@Test
public void testInvalidTriangle3() {
Triangle triangle = new Triangle(1, 2, 4);
assertEquals("Invalid", triangle.getType());
assertEquals(0.0, triangle.getArea(), 0.000001);
}
}
```
以上测试用例覆盖了Triangle类中的所有语句,包括getType()和getArea()方法的返回值。其中,testEquilateralTriangle()用于测试等边三角形,testIsoscelesTriangle()用于测试等腰三角形,testScaleneTriangle()用于测试不等边三角形,testInvalidTriangle1()用于测试三边长度均为0的情况,testInvalidTriangle2()用于测试三边长度中有负数的情况,testInvalidTriangle3()用于测试三边长度不能构成三角形的情况。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)