Closed lvl4fi4 closed 3 years ago
im running following test:
String Date1 = "1398/05/20"; String Date2 = "1398/07/20"; assertTrue(CurrentDateTime.isInRangeDate(Date1, Date2, "1398/06/1")); assertTrue(CurrentDateTime.isInRangeDate(Date1, Date2, Date1)); assertTrue(CurrentDateTime.isInRangeDate(Date1, Date2, Date2)); assertFalse(CurrentDateTime.isInRangeDate(Date1, Date2, "1398/04/1")); assertFalse(CurrentDateTime.isInRangeDate(Date1, Date2, "1398/09/1"));` public static boolean isInRangeDate(String date1Range, String date2Range, String dateVal) { PersianDate date1 = stringToPersianDate(date1Range); PersianDate date2 = stringToPersianDate(date2Range); PersianDate date = stringToPersianDate(dateVal); boolean _1 = date.after(date1); boolean _2 = date.before(date2); boolean _3 = date.equals(date1); boolean _4 = date.equals(date2); return (date.after(date1) && date.before(date2) || date.equals(date1) || date.equals(date2)); } private static PersianDate stringToPersianDate(String date) { int day = Integer.parseInt(date.split("/")[2]); int month = Integer.parseInt(date.split("/")[1]); int year = Integer.parseInt(date.split("/")[0]); PersianDate persianDate = new PersianDate(); persianDate.initJalaliDate(year, month, day); return persianDate; }
boolean _1 _2 _3 _4 are false in the first test! am i doing the compare wrong or dose this method returns wrong result? is date.after(date1); ? is this date "1398/06/1" is after this date "1398/05/20" ? true! so there is something wrong
Test v1.0
im running following test:
boolean _1 _2 _3 _4 are false in the first test! am i doing the compare wrong or dose this method returns wrong result? is date.after(date1); ? is this date "1398/06/1" is after this date "1398/05/20" ? true! so there is something wrong