package ruanjianceshishiyansan;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;import java.util.Arrays;
import java.util.Collection;@RunWith(Parameterized.class)
public class DateBoundaryTests {private int input1;private int input2;private int input3;private String expected;@Parameterized.Parameterspublic static Collection<?>prepareData(){Object [][] object ={//年{1899,7,8,"年的值不在指定范圍內"},{1900,7,8,"19000709"},{1901,7,8,"19010709"},{2049,7,8,"20490709"},{2050,7,8,"20500709"},{2051,7,8,"年的值不在指定范圍內"},//月{2021,0,8,"月的值不在指定范圍內"},{2021,1,8,"20210109"},{2021,2,8,"20210209"},{2021,11,8,"20211109"},{2021,12,8,"20211209"},{2021,13,8,"月的值不在指定范圍內"},//日{2021,2,27,"20210228"},{2021,2,28,"20210301"},{2021,2,29,"日的值不在指定范圍內"},{2020,2,28,"20200229"},{2020,2,29,"20200301"},{2020,2,30,"日的值不在指定范圍內"},{2021,1,30,"20210131"},{2021,1,31,"20210201"},{2021,1,32,"日的值不在指定范圍內"},{2021,4,30,"20210501"},{2021,4,31,"日的值不在指定范圍內"},{2021,2,0,"日的值不在指定范圍內"},};return Arrays.asList(object);}public DateBoundaryTests(int input1,int input2,int input3,String expected){this.input1 = input1;this.input2 = input2;this.input3 = input3;this.expected = expected;}@Testpublic voidtestDate(){String result = danyuan.nextDate(input1,input2,input3);Assert.assertEquals(expected, result);}}
二、判定表驅動法 1、條件樁 Y1={year:今年是閏年} Y2={year:今年是非閏年} M1={month:本月是1,3,5,7,8,10月中一個} M2={month:本月是4,6,9,11月中一個} M3={month:本月是2月} M4={month:本月是12月} D1={day:1<=day<=27} D2={day:day=28} D3={day:day=29} D4={day:day=30} D5={day:day=31} 2、動作樁 A 0 :不在范圍內 A 1 : d a y + 1 A 2 : d a y 復 位 A 3 : m o n t h + 1 A 4 : m o n t h 復 位 A 5 : y e a r + 1
代碼:
package ruanjianceshishiyansan;import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;import java.util.Arrays;
import java.util.Collection;@RunWith(Parameterized.class)
public class DateDecisionTests {private int input1;private int input2;private int input3;private String expected;@Parameterized.Parameterspublic static Collection<?>prepareData(){Object [][] object ={{2021,5,29,"20210530"},{2021,9,30,"20211001"},{2021,9,31,"日的值不在指定范圍內"},{2021,1,29,"20210130"},{2021,1,31,"20210201"},{2021,12,16,"20211217"},{2021,12,31,"20220101"},{2021,5,29,"20210530"},{2021,2,28,"20210301"},//8{2020,2,28,"20200229"},{2020,2,29,"20200301"},{2021,2,29,"日的值不在指定范圍內"},//11{2021,2,30,"日的值不在指定范圍內"},};return Arrays.asList(object);}public DateDecisionTests(int input1,int input2,int input3,String expected){this.input1 = input1;this.input2 = input2;this.input3 = input3;this.expected = expected;}@Testpublic voidtestDate(){String result = danyuan.nextDate(input1,input2,input3);Assert.assertEquals(expected, result);}}