package net.time4j.calendar;
import net.time4j.PlainDate;
import net.time4j.format.expert.Iso8601Format;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import java.text.ParseException;
import java.util.Arrays;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
@RunWith(Parameterized.class)
public class HijriYearTest {
@Parameterized.Parameters(name= "{index}: iso={3}, west-islamic-civil({0}-{1}-{2})")
public static Iterable<Object[]> data() {
return Arrays.asList(
new Object[][]{
{1436, 12, 29, "2015-10-13"},
{1436, 12, 30, "2015-10-14"},
{1437, 1, 1, "2015-10-15"},
{1437, 1, 2, "2015-10-16"},
{1437, 1, 3, "2015-10-17"},
{1437, 1, 4, "2015-10-18"},
{1437, 1, 5, "2015-10-19"},
{1437, 1, 6, "2015-10-20"},
{1437, 1, 7, "2015-10-21"},
{1437, 1, 8, "2015-10-22"},
{1437, 1, 9, "2015-10-23"},
{1437, 1, 10, "2015-10-24"},
{1437, 1, 11, "2015-10-25"},
{1437, 1, 12, "2015-10-26"},
{1437, 1, 13, "2015-10-27"},
{1437, 1, 14, "2015-10-28"},
{1437, 1, 15, "2015-10-29"},
{1437, 1, 16, "2015-10-30"},
{1437, 1, 17, "2015-10-31"},
{1437, 1, 18, "2015-11-01"},
{1437, 1, 19, "2015-11-02"},
{1437, 1, 20, "2015-11-03"},
{1437, 1, 21, "2015-11-04"},
{1437, 1, 22, "2015-11-05"},
{1437, 1, 23, "2015-11-06"},
{1437, 1, 24, "2015-11-07"},
{1437, 1, 25, "2015-11-08"},
{1437, 1, 26, "2015-11-09"},
{1437, 1, 27, "2015-11-10"},
{1437, 1, 28, "2015-11-11"},
{1437, 1, 29, "2015-11-12"},
{1437, 1, 30, "2015-11-13"},
{1437, 2, 1, "2015-11-14"},
{1437, 2, 2, "2015-11-15"},
{1437, 2, 3, "2015-11-16"},
{1437, 2, 4, "2015-11-17"},
{1437, 2, 5, "2015-11-18"},
{1437, 2, 6, "2015-11-19"},
{1437, 2, 7, "2015-11-20"},
{1437, 2, 8, "2015-11-21"},
{1437, 2, 9, "2015-11-22"},
{1437, 2, 10, "2015-11-23"},
{1437, 2, 11, "2015-11-24"},
{1437, 2, 12, "2015-11-25"},
{1437, 2, 13, "2015-11-26"},
{1437, 2, 14, "2015-11-27"},
{1437, 2, 15, "2015-11-28"},
{1437, 2, 16, "2015-11-29"},
{1437, 2, 17, "2015-11-30"},
{1437, 2, 18, "2015-12-01"},
{1437, 2, 19, "2015-12-02"},
{1437, 2, 20, "2015-12-03"},
{1437, 2, 21, "2015-12-04"},
{1437, 2, 22, "2015-12-05"},
{1437, 2, 23, "2015-12-06"},
{1437, 2, 24, "2015-12-07"},
{1437, 2, 25, "2015-12-08"},
{1437, 2, 26, "2015-12-09"},
{1437, 2, 27, "2015-12-10"},
{1437, 2, 28, "2015-12-11"},
{1437, 2, 29, "2015-12-12"},
{1437, 3, 1, "2015-12-13"},
{1437, 3, 2, "2015-12-14"},
{1437, 3, 3, "2015-12-15"},
{1437, 3, 4, "2015-12-16"},
{1437, 3, 5, "2015-12-17"},
{1437, 3, 6, "2015-12-18"},
{1437, 3, 7, "2015-12-19"},
{1437, 3, 8, "2015-12-20"},
{1437, 3, 9, "2015-12-21"},
{1437, 3, 10, "2015-12-22"},
{1437, 3, 11, "2015-12-23"},
{1437, 3, 12, "2015-12-24"},
{1437, 3, 13, "2015-12-25"},
{1437, 3, 14, "2015-12-26"},
{1437, 3, 15, "2015-12-27"},
{1437, 3, 16, "2015-12-28"},
{1437, 3, 17, "2015-12-29"},
{1437, 3, 18, "2015-12-30"},
{1437, 3, 19, "2015-12-31"},
{1437, 3, 20, "2016-01-01"},
{1437, 3, 21, "2016-01-02"},
{1437, 3, 22, "2016-01-03"},
{1437, 3, 23, "2016-01-04"},
{1437, 3, 24, "2016-01-05"},
{1437, 3, 25, "2016-01-06"},
{1437, 3, 26, "2016-01-07"},
{1437, 3, 27, "2016-01-08"},
{1437, 3, 28, "2016-01-09"},
{1437, 3, 29, "2016-01-10"},
{1437, 3, 30, "2016-01-11"},
{1437, 4, 1, "2016-01-12"},
{1437, 4, 2, "2016-01-13"},
{1437, 4, 3, "2016-01-14"},
{1437, 4, 4, "2016-01-15"},
{1437, 4, 5, "2016-01-16"},
{1437, 4, 6, "2016-01-17"},
{1437, 4, 7, "2016-01-18"},
{1437, 4, 8, "2016-01-19"},
{1437, 4, 9, "2016-01-20"},
{1437, 4, 10, "2016-01-21"},
{1437, 4, 11, "2016-01-22"},
{1437, 4, 12, "2016-01-23"},
{1437, 4, 13, "2016-01-24"},
{1437, 4, 14, "2016-01-25"},
{1437, 4, 15, "2016-01-26"},
{1437, 4, 16, "2016-01-27"},
{1437, 4, 17, "2016-01-28"},
{1437, 4, 18, "2016-01-29"},
{1437, 4, 19, "2016-01-30"},
{1437, 4, 20, "2016-01-31"},
{1437, 4, 21, "2016-02-01"},
{1437, 4, 22, "2016-02-02"},
{1437, 4, 23, "2016-02-03"},
{1437, 4, 24, "2016-02-04"},
{1437, 4, 25, "2016-02-05"},
{1437, 4, 26, "2016-02-06"},
{1437, 4, 27, "2016-02-07"},
{1437, 4, 28, "2016-02-08"},
{1437, 4, 29, "2016-02-09"},
{1437, 5, 1, "2016-02-10"},
{1437, 5, 2, "2016-02-11"},
{1437, 5, 3, "2016-02-12"},
{1437, 5, 4, "2016-02-13"},
{1437, 5, 5, "2016-02-14"},
{1437, 5, 6, "2016-02-15"},
{1437, 5, 7, "2016-02-16"},
{1437, 5, 8, "2016-02-17"},
{1437, 5, 9, "2016-02-18"},
{1437, 5, 10, "2016-02-19"},
{1437, 5, 11, "2016-02-20"},
{1437, 5, 12, "2016-02-21"},
{1437, 5, 13, "2016-02-22"},
{1437, 5, 14, "2016-02-23"},
{1437, 5, 15, "2016-02-24"},
{1437, 5, 16, "2016-02-25"},
{1437, 5, 17, "2016-02-26"},
{1437, 5, 18, "2016-02-27"},
{1437, 5, 19, "2016-02-28"},
{1437, 5, 20, "2016-02-29"},
{1437, 5, 21, "2016-03-01"},
{1437, 5, 22, "2016-03-02"},
{1437, 5, 23, "2016-03-03"},
{1437, 5, 24, "2016-03-04"},
{1437, 5, 25, "2016-03-05"},
{1437, 5, 26, "2016-03-06"},
{1437, 5, 27, "2016-03-07"},
{1437, 5, 28, "2016-03-08"},
{1437, 5, 29, "2016-03-09"},
{1437, 5, 30, "2016-03-10"},
{1437, 6, 1, "2016-03-11"},
{1437, 6, 2, "2016-03-12"},
{1437, 6, 3, "2016-03-13"},
{1437, 6, 4, "2016-03-14"},
{1437, 6, 5, "2016-03-15"},
{1437, 6, 6, "2016-03-16"},
{1437, 6, 7, "2016-03-17"},
{1437, 6, 8, "2016-03-18"},
{1437, 6, 9, "2016-03-19"},
{1437, 6, 10, "2016-03-20"},
{1437, 6, 11, "2016-03-21"},
{1437, 6, 12, "2016-03-22"},
{1437, 6, 13, "2016-03-23"},
{1437, 6, 14, "2016-03-24"},
{1437, 6, 15, "2016-03-25"},
{1437, 6, 16, "2016-03-26"},
{1437, 6, 17, "2016-03-27"},
{1437, 6, 18, "2016-03-28"},
{1437, 6, 19, "2016-03-29"},
{1437, 6, 20, "2016-03-30"},
{1437, 6, 21, "2016-03-31"},
{1437, 6, 22, "2016-04-01"},
{1437, 6, 23, "2016-04-02"},
{1437, 6, 24, "2016-04-03"},
{1437, 6, 25, "2016-04-04"},
{1437, 6, 26, "2016-04-05"},
{1437, 6, 27, "2016-04-06"},
{1437, 6, 28, "2016-04-07"},
{1437, 6, 29, "2016-04-08"},
{1437, 7, 1, "2016-04-09"},
{1437, 7, 2, "2016-04-10"},
{1437, 7, 3, "2016-04-11"},
{1437, 7, 4, "2016-04-12"},
{1437, 7, 5, "2016-04-13"},
{1437, 7, 6, "2016-04-14"},
{1437, 7, 7, "2016-04-15"},
{1437, 7, 8, "2016-04-16"},
{1437, 7, 9, "2016-04-17"},
{1437, 7, 10, "2016-04-18"},
{1437, 7, 11, "2016-04-19"},
{1437, 7, 12, "2016-04-20"},
{1437, 7, 13, "2016-04-21"},
{1437, 7, 14, "2016-04-22"},
{1437, 7, 15, "2016-04-23"},
{1437, 7, 16, "2016-04-24"},
{1437, 7, 17, "2016-04-25"},
{1437, 7, 18, "2016-04-26"},
{1437, 7, 19, "2016-04-27"},
{1437, 7, 20, "2016-04-28"},
{1437, 7, 21, "2016-04-29"},
{1437, 7, 22, "2016-04-30"},
{1437, 7, 23, "2016-05-01"},
{1437, 7, 24, "2016-05-02"},
{1437, 7, 25, "2016-05-03"},
{1437, 7, 26, "2016-05-04"},
{1437, 7, 27, "2016-05-05"},
{1437, 7, 28, "2016-05-06"},
{1437, 7, 29, "2016-05-07"},
{1437, 7, 30, "2016-05-08"},
{1437, 8, 1, "2016-05-09"},
{1437, 8, 2, "2016-05-10"},
{1437, 8, 3, "2016-05-11"},
{1437, 8, 4, "2016-05-12"},
{1437, 8, 5, "2016-05-13"},
{1437, 8, 6, "2016-05-14"},
{1437, 8, 7, "2016-05-15"},
{1437, 8, 8, "2016-05-16"},
{1437, 8, 9, "2016-05-17"},
{1437, 8, 10, "2016-05-18"},
{1437, 8, 11, "2016-05-19"},
{1437, 8, 12, "2016-05-20"},
{1437, 8, 13, "2016-05-21"},
{1437, 8, 14, "2016-05-22"},
{1437, 8, 15, "2016-05-23"},
{1437, 8, 16, "2016-05-24"},
{1437, 8, 17, "2016-05-25"},
{1437, 8, 18, "2016-05-26"},
{1437, 8, 19, "2016-05-27"},
{1437, 8, 20, "2016-05-28"},
{1437, 8, 21, "2016-05-29"},
{1437, 8, 22, "2016-05-30"},
{1437, 8, 23, "2016-05-31"},
{1437, 8, 24, "2016-06-01"},
{1437, 8, 25, "2016-06-02"},
{1437, 8, 26, "2016-06-03"},
{1437, 8, 27, "2016-06-04"},
{1437, 8, 28, "2016-06-05"},
{1437, 8, 29, "2016-06-06"},
{1437, 9, 1, "2016-06-07"},
{1437, 9, 2, "2016-06-08"},
{1437, 9, 3, "2016-06-09"},
{1437, 9, 4, "2016-06-10"},
{1437, 9, 5, "2016-06-11"},
{1437, 9, 6, "2016-06-12"},
{1437, 9, 7, "2016-06-13"},
{1437, 9, 8, "2016-06-14"},
{1437, 9, 9, "2016-06-15"},
{1437, 9, 10, "2016-06-16"},
{1437, 9, 11, "2016-06-17"},
{1437, 9, 12, "2016-06-18"},
{1437, 9, 13, "2016-06-19"},
{1437, 9, 14, "2016-06-20"},
{1437, 9, 15, "2016-06-21"},
{1437, 9, 16, "2016-06-22"},
{1437, 9, 17, "2016-06-23"},
{1437, 9, 18, "2016-06-24"},
{1437, 9, 19, "2016-06-25"},
{1437, 9, 20, "2016-06-26"},
{1437, 9, 21, "2016-06-27"},
{1437, 9, 22, "2016-06-28"},
{1437, 9, 23, "2016-06-29"},
{1437, 9, 24, "2016-06-30"},
{1437, 9, 25, "2016-07-01"},
{1437, 9, 26, "2016-07-02"},
{1437, 9, 27, "2016-07-03"},
{1437, 9, 28, "2016-07-04"},
{1437, 9, 29, "2016-07-05"},
{1437, 9, 30, "2016-07-06"},
{1437, 10, 1, "2016-07-07"},
{1437, 10, 2, "2016-07-08"},
{1437, 10, 3, "2016-07-09"},
{1437, 10, 4, "2016-07-10"},
{1437, 10, 5, "2016-07-11"},
{1437, 10, 6, "2016-07-12"},
{1437, 10, 7, "2016-07-13"},
{1437, 10, 8, "2016-07-14"},
{1437, 10, 9, "2016-07-15"},
{1437, 10, 10, "2016-07-16"},
{1437, 10, 11, "2016-07-17"},
{1437, 10, 12, "2016-07-18"},
{1437, 10, 13, "2016-07-19"},
{1437, 10, 14, "2016-07-20"},
{1437, 10, 15, "2016-07-21"},
{1437, 10, 16, "2016-07-22"},
{1437, 10, 17, "2016-07-23"},
{1437, 10, 18, "2016-07-24"},
{1437, 10, 19, "2016-07-25"},
{1437, 10, 20, "2016-07-26"},
{1437, 10, 21, "2016-07-27"},
{1437, 10, 22, "2016-07-28"},
{1437, 10, 23, "2016-07-29"},
{1437, 10, 24, "2016-07-30"},
{1437, 10, 25, "2016-07-31"},
{1437, 10, 26, "2016-08-01"},
{1437, 10, 27, "2016-08-02"},
{1437, 10, 28, "2016-08-03"},
{1437, 10, 29, "2016-08-04"},
{1437, 11, 1, "2016-08-05"},
{1437, 11, 2, "2016-08-06"},
{1437, 11, 3, "2016-08-07"},
{1437, 11, 4, "2016-08-08"},
{1437, 11, 5, "2016-08-09"},
{1437, 11, 6, "2016-08-10"},
{1437, 11, 7, "2016-08-11"},
{1437, 11, 8, "2016-08-12"},
{1437, 11, 9, "2016-08-13"},
{1437, 11, 10, "2016-08-14"},
{1437, 11, 11, "2016-08-15"},
{1437, 11, 12, "2016-08-16"},
{1437, 11, 13, "2016-08-17"},
{1437, 11, 14, "2016-08-18"},
{1437, 11, 15, "2016-08-19"},
{1437, 11, 16, "2016-08-20"},
{1437, 11, 17, "2016-08-21"},
{1437, 11, 18, "2016-08-22"},
{1437, 11, 19, "2016-08-23"},
{1437, 11, 20, "2016-08-24"},
{1437, 11, 21, "2016-08-25"},
{1437, 11, 22, "2016-08-26"},
{1437, 11, 23, "2016-08-27"},
{1437, 11, 24, "2016-08-28"},
{1437, 11, 25, "2016-08-29"},
{1437, 11, 26, "2016-08-30"},
{1437, 11, 27, "2016-08-31"},
{1437, 11, 28, "2016-09-01"},
{1437, 11, 29, "2016-09-02"},
{1437, 11, 30, "2016-09-03"},
{1437, 12, 1, "2016-09-04"},
{1437, 12, 2, "2016-09-05"},
{1437, 12, 3, "2016-09-06"},
{1437, 12, 4, "2016-09-07"},
{1437, 12, 5, "2016-09-08"},
{1437, 12, 6, "2016-09-09"},
{1437, 12, 7, "2016-09-10"},
{1437, 12, 8, "2016-09-11"},
{1437, 12, 9, "2016-09-12"},
{1437, 12, 10, "2016-09-13"},
{1437, 12, 11, "2016-09-14"},
{1437, 12, 12, "2016-09-15"},
{1437, 12, 13, "2016-09-16"},
{1437, 12, 14, "2016-09-17"},
{1437, 12, 15, "2016-09-18"},
{1437, 12, 16, "2016-09-19"},
{1437, 12, 17, "2016-09-20"},
{1437, 12, 18, "2016-09-21"},
{1437, 12, 19, "2016-09-22"},
{1437, 12, 20, "2016-09-23"},
{1437, 12, 21, "2016-09-24"},
{1437, 12, 22, "2016-09-25"},
{1437, 12, 23, "2016-09-26"},
{1437, 12, 24, "2016-09-27"},
{1437, 12, 25, "2016-09-28"},
{1437, 12, 26, "2016-09-29"},
{1437, 12, 27, "2016-09-30"},
{1437, 12, 28, "2016-10-01"},
{1437, 12, 29, "2016-10-02"},
{1438, 1, 1, "2016-10-03"},
}
);
}
private HijriCalendar hijri;
private PlainDate gregorian;
public HijriYearTest(
int year,
int month,
int dom,
String iso
) throws ParseException {
super();
this.hijri = HijriCalendar.of(HijriAlgorithm.WEST_ISLAMIC_CIVIL, year, month, dom);
this.gregorian = Iso8601Format.EXTENDED_CALENDAR_DATE.parse(iso);
}
@Test
public void toGregorian() {
assertThat(this.hijri.transform(PlainDate.class), is(this.gregorian));
}
@Test
public void toHijri() {
assertThat(this.gregorian.transform(HijriCalendar.class, HijriAlgorithm.WEST_ISLAMIC_CIVIL), is(this.hijri));
}
}