//覆盖37中|c-a|
Trianglet=newTriangle(8,4,4);
Stringresult=t.getType(t);
assertEquals("不是三角形",result);
}
@Test
publicvoidtest17(){
//覆盖62a!
=b&&b!
=c
Trianglet=newTriangle(4,5,5);
Stringresult=t.getType(t);
assertEquals("等腰三角形",result);
}
@Test
publicvoidtest18(){
//覆盖63a!
=b&&b!
=c&&a!
=c
Trianglet=newTriangle(4,5,4);
Stringresult=t.getType(t);
assertEquals("等腰三角形",result);
}
@Test
publicvoidtest19(){
//如果输入的数大于最大值就会溢出,成为负数,所以无法测试越界情况
Trianglet=newTriangle(1,1,Long.MAX_VALUE);
Stringresult=t.getType(t);
assertEquals("不是三角形",result);
}
@Test
publicvoidtest20(){
//如果输入的数大于最大值就会溢出,成为负数,所以无法测试越界情况
Trianglet=newTriangle(1,Long.MAX_VALUE,Long.MAX_VALUE+1);
Stringresult=t.getType(t);
assertEquals("不是三角形",result);
}
@Test
publicvoidtest21(){
//如果输入的数大于最大值就会溢出,成为负数,所以无法测试越界情况
Trianglet=newTriangle(Long.MAX_VALUE,1,Long.MAX_VALUE+1);
Stringresult=t.getType(t);
assertEquals("不是三角形",result);
}
}
(2)计算下一天的程序
importstaticorg.junit.Assert.*;
importorg.junit.Test;
publicclassTestNextDay{
@Test
publicvoidtest1(){
try{
//覆盖Year中9行,不存在
newYear(0);
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidmonth",e.getMessage());
}
}
@Test
publicvoidtest2(){
//覆盖Month中13行,不存在
try{
Monthm=newMonth(1,null);
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidmonth",e.getMessage());
}
}
@Test
publicvoidtest3(){
//覆盖Month中13行,不存在
try{
Monthm=newMonth(13,null);
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidmonth",e.getMessage());
}
}
@Test
publicvoidtest4(){
//覆盖Day中21行,不存在
try{
Dayd=newDay(29,null);
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidday",e.getMessage());
}
}
@Test
publicvoidtest5(){
//覆盖Day中21行,不存在
try{
Dayd=newDay(100,null);
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidday",e.getMessage());
}
}
@Test
publicvoidtest6(){
//覆盖Year中9
try{
Dated=newDate(0,1,1);
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidmonth",e.getMessage());
}
}
@Test
publicvoidtest7(){
//覆盖Month中13行
try{
Dated=newDate(1,0,1);
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidday",e.getMessage());
}
}
@Test
publicvoidtest8(){
//覆盖Day中30,31中的2个判断
try{
Dated=newDate(0,1,1);
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidmonth",e.getMessage());
}
}
@Test
publicvoidtest9(){
//覆盖day中21等
Dated=newDate(2,29,2000);
d.increment();
assertEquals("3/1/2000",d.toString());
}
@Test
publicvoidtest10(){
//覆盖Month中23,31等
Dated=newDate(12,31,2000);
d.increment();
assertEquals("1/1/2001",d.toString());
}
@Test
publicvoidtest11(){
//覆盖
Dated=newDate(12,31,19);
d.increment();
assertEquals("1/1/20",d.toString());
}
@Test
publicvoidtest12(){
//覆盖Month中40行
//没有13月
Dated=null;
try{
d=newDate(13,29,3000);
d.increment();
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidmonth",e.getMessage());
}
}
@Test
publicvoidtest13(){
//平年没有29
try{
Dated=newDate(2,29,3000);
d.increment();
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidday",e.getMessage());
}
}
@Test
publicvoidtest14(){
Dated=newDate(2,29,2000);
d.getDay();
d.getMonth();
d.getYear();
assertEquals("2/29/2000",d.toString());
}
@Test
publicvoidtest15(){
Dated=newDate(2,29,400);
d.equals(d);
assertEquals(true,d.equals(d));
}
@Test
publicvoidtest16(){
//101
Dated1=newDate(3,29,400);
Dated2=newDate(3,2,400);
assertEquals(false,d1.equals(d2));
}
@Test
publicvoidtest17(){
//100
Dated1=newDate(3,9,400);
Dated2=newDate(3,29,40);
assertEquals(false,d1.equals(d2));
}
@Test
publicvoidtest18(){
//011
Dated1=newDate(5,29,400);
Dated2=newDate(4,29,400);
assertEquals(false,d1.equals(d2));
}
@Test
publicvoidtest19(){
Dated=newDate(12,31,400);
d.increment();
assertEquals("1/1/401",d.toString());
}
@Test
publicvoidtest20(){
Dated=newDate(12,31,-1);
d.increment();
assertEquals("1/1/1",d.toString());
}
@Test
publicvoidtest21(){
Dated=newDate(12,31,-200);
d.increment();
assertEquals("1/1/-199",d.toString());
}
@Test
publicvoidtest22(){
Dated=newDate(12,1,-5);
d.increment();
assertEquals("12/2/-5",d.toString());
}
@Test
publicvoidtest23(){
//覆盖month中49
Yeary1=newYear
(1);
Monthm1=newMonth(1,y1);
Yeary2=newYear(11);
Monthm2=newMonth(1,y2);
assertEquals(false,m1.equals(m2));
}
@Test
publicvoidtest24(){
Yeary1=newYear
(1);
Monthm1=newMonth(12,y1);
Dayd1=newDay(1,m1);
Yeary2=newYear(11);
Monthm2=newMonth(1,y2);
Dayd2=newDay(1,m2);
assertEquals(false,d1.equals(d2));
}
@Test
publicvoidtest25(){
//覆盖month的47
Yeary=newYear
(1);
Monthm=newMonth(12,y);
assertEquals(false,m.equals(null));
}
@Test
publicvoidtest26(){
//覆盖day的39
Yeary=newYear
(1);
Monthm=newMonth(12,y);
Dayd=newDay(1,m);
assertEquals(false,d.equals(null));
}
@Test
publicvoidtest27(){
//覆盖date中的40
Datedate=newDate(1,1,1);
assertEquals(false,date.equals(null));
}
@Test
publicvoidtest28(){
//覆盖year中的42
Yeary=newYear
(1);
assertEquals(false,y.equals(null));
}
@Test
publicvoidtest29(){
try{
Monthm=newMonth(1,newYear(-1));
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidmonth",e.getMessage());
}
}
@Test
publicvoidtest30(){
try{
Monthm=newMonth(1,newYear(0));
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidmonth",e.getMessage());
}
}
@Test
publicvoidtest31(){
try{
Dayd=newDay(29,newMonth(0,newYear
(1)));
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidmonth",e.getMessage());
}
}
@Test
publicvoidtest32(){
try{
Dayd=newDay(29,newMonth(-1,newYear
(1)));
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidmonth",e.getMessage());
}
}
@Test
publicvoidtest33(){
try{
Dayd=newDay(29,newMonth(2,newYear
(1)));
}catch(IllegalArgumentExceptione){
//TODO:
handleexception
assertEquals("Notavalidday",e.getMessage());
}
}
@Test
publicvoidtest34(){
Dated=newDate(2,29,2000);
d.printDate();
assertEquals("2/29/2000",d.toString());
}
}
其中17个是抛出异常的语句
(3)防止飞机相撞的程序
importstaticorg.junit