前提:
测试题目:
根据输入的年份和月份判断月份的天数。若月份不在有效范围之内,应提示:“月份输入不正确。”。月份不为2月,根据输入月份输出对应的月份天数。月份为2月,根据年份判断如为普通闰年,输出2月份正确天数;如为世纪闰年,输出2月份正确天数;不为闰年输出2月份天数。返回结果格式:“year年month月份的天数是days天。”year、month为传入的值,days为判断得到的天数值。其中变量year、month均须为正整数。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertThat中equalTo断言判断返回期望结果和实际返回是否一致
public class Text01 {
static int day;
public static String Text0(int year,int month) {
if (month>0 && month<13) {
if (month != 2) {
System.out.println(year+"年"+ month+"月份的天数是"+Text1(year, month));
}else {
if (year%4 == 0 && year%400 != 0) {
System.out.println(year+"年"+ month+"月份的天数是"+Text2(year, month));
}else if (year %400 == 0) {
System.out.println(year+"年"+ month+"月份的天数是"+Text3(year, month));
}else{
System.out.println(year+"年"+ month+"月份的天数是"+Text4(year, month));
}
}
}else {
System.out.println("月份输入不正确。");
return "月份输入不正确。";
}
return "";
}
public static int Text1(int year,int month) {
if (month != 4 || month !=6|| month !=9|| month !=11) {
day = 31;
}else {
day = 30;
}
return day ;
}
public static int Text2(int year,int month) {
return 29;
}
public static int Text3(int year,int month) {
return 29;
}
public static int Text4(int year,int month) {
return 28;
}
}
import static org.junit.Assert.*;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.*;
import org.junit.Test;
public class Text01Test {
static Text01 text01 = new Text01();
@Test
public void testText0() {
text01.Text0(2004, 2);
assertThat(text01.Text2(2004, 2),equalTo(29));
}
@Test
public void testText1() {
text01.Text0(2004, 3);
assertThat(text01.Text1(2004, 3),equalTo(31));
}
@Test
public void testText2() {
text01.Text0(2004, 13);
assertThat(text01.Text0(2004, 13),equalTo("月份输入不正确。"));
}
@Test
public void testText3() {
text01.Text0(2000, 2);
assertThat(text01.Text3(2000, 2),equalTo(29));
}
@Test
public void testText4() {
text01.Text0(2005, 2);
assertThat(text01.Text4(2005, 2),equalTo(28));
}
}
版权归原作者 爱摸鱼的橘猫 所有, 如有侵权,请联系我们删除。