编写一个测试代码来测试以下代码。public static String delDuplicate(String input) { // base case if(input.isEmpty() || input.length() == 1) return input; // recursive step if(input.charAt(0) == input.charAt(1)) return delDuplicate(input.substring(1)); else return input.charAt(0) + delDuplicate(input.substring(1)); }
时间: 2023-06-26 19:05:27 浏览: 204
可以使用JUnit框架编写测试代码,具体代码如下:
```
import static org.junit.Assert.*;
import org.junit.Test;
public class TestDelDuplicate {
@Test
public void testDelDuplicate() {
String input1 = "aaabbbccc";
String expectedOutput1 = "abc";
assertEquals(expectedOutput1, delDuplicate(input1));
String input2 = "aabbccdd";
String expectedOutput2 = "abcd";
assertEquals(expectedOutput2, delDuplicate(input2));
String input3 = "";
String expectedOutput3 = "";
assertEquals(expectedOutput3, delDuplicate(input3));
String input4 = "aaa";
String expectedOutput4 = "a";
assertEquals(expectedOutput4, delDuplicate(input4));
String input5 = "abcde";
String expectedOutput5 = "abcde";
assertEquals(expectedOutput5, delDuplicate(input5));
}
public static String delDuplicate(String input) {
if(input.isEmpty() || input.length() == 1)
return input;
if(input.charAt(0) == input.charAt(1))
return delDuplicate(input.substring(1));
else
return input.charAt(0) + delDuplicate(input.substring(1));
}
}
```
这个测试代码使用了JUnit框架的@Test注解来标记测试用例方法,然后使用assertEquals方法来比较实际输出和期望输出是否一致。测试用例中包含了多种不同情况的输入和期望输出,以确保函数的正确性。
阅读全文