软件测试赛学生赛样题-01-单元测试 任务四 题目2
题目2:
题目:
输入一个大写字母一个小写字母。根据输入的第一个字母和周几英文单词的第一个大写字母判断是周几,如果无法根据第一个大写字母判断,则继续根据输入的第二个小写字母进行判断,最终返回正确的英文周几的单词。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertEquals判断期望结果值和实际返回值是否一致。
需求分析:
输入:
getWeekDay方法接收两个参数:第一个参数是大写字母,第二个参数是小写字母。
判断:
方法首先尝试找出以输入的大写字母开头的所有星期名称。
如果找到多个匹配项,它将继续根据第二个字母进行过滤。
输出:
如果最终只有一个匹配项,则返回该星期名称;如果没有匹配,则返回"Invalid Input"。
代码实现:
以下是Java类和JUnit测试类的概要示例代码:
首先是WeekDay类:
import java.util.ArrayList;
import java.util.List;
public class WeekDay {
private static final String[] WEEKDAYS = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
public static String getWeekDay(char firstLetter, char secondLetter) {
List<String> matches = new ArrayList<>();
// 找到所有以第一个大写字母开头的星期名称
for (String day : WEEKDAYS) {
if (day.charAt(0) == firstLetter) {
matches.add(day);
}
}
// 如果只找到一个匹配项,直接返回
if (matches.size() == 1)