java编写创建一个计算类,实现加减乘除运算,并用JUnit进行单元测试
时间: 2024-02-17 15:05:25 浏览: 105
好的,我可以帮你实现这个计算类,并提供JUnit单元测试代码。以下为示例代码:
```java
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
public int multiply(int a, int b) {
return a * b;
}
public int divide(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("Divisor cannot be zero!");
}
return a / b;
}
}
```
以上代码实现了一个简单的计算类,实现了加、减、乘、除四种基本运算。其中,除法运算特别处理了除数为零的情况,抛出异常。
接下来,我们可以用JUnit进行单元测试。以下为示例测试代码:
```java
import org.junit.Test;
import static org.junit.Assert.*;
public class CalculatorTest {
private Calculator calculator = new Calculator();
@Test
public void testAdd() {
assertEquals(5, calculator.add(2, 3));
assertEquals(0, calculator.add(0, 0));
assertEquals(-2, calculator.add(-1, -1));
}
@Test
public void testSubtract() {
assertEquals(-1, calculator.subtract(2, 3));
assertEquals(0, calculator.subtract(2, 2));
assertEquals(2, calculator.subtract(-1, -3));
}
@Test
public void testMultiply() {
assertEquals(6, calculator.multiply(2, 3));
assertEquals(0, calculator.multiply(0, 2));
assertEquals(-3, calculator.multiply(1, -3));
}
@Test
public void testDivide() {
assertEquals(2, calculator.divide(6, 3));
assertEquals(0, calculator.divide(0, 2));
assertEquals(-1, calculator.divide(5, -5));
try {
calculator.divide(6, 0);
fail("Expected IllegalArgumentException!");
} catch (IllegalArgumentException e) {
assertEquals("Divisor cannot be zero!", e.getMessage());
}
}
}
```
以上代码实现了对计算类的四种基本运算方法进行单元测试。其中,使用了JUnit提供的断言方法assertEquals()来判断实际结果是否与期望结果相等。另外,还测试了除数为零的情况,确保程序能够正确抛出异常。
希望以上代码能够帮助你完成任务,如果有其他问题,可以随时再问我。
阅读全文