package net.time4j; import java.util.Arrays; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @RunWith(Parameterized.class) public class LeapYearTest { @Parameters(name= "{index}: leap-year({0})={1}") public static Iterable<Object[]> data() { return Arrays.asList( new Object[][] { {2000, true}, {1900, false}, {2001, false}, {2002, false}, {2003, false}, {2004, true}, {0, true}, {-1, false}, {-2, false}, {-3, false}, {-4, true}, {2100, false}, {2012, true}, {2016, true}, {2017, false}, {2013, false}, {2014, false}, {2015, false}, {1600, true}, {1700, false}, {1800, false} } ); } private int year; private boolean leap; public LeapYearTest( int year, boolean leap ) { super(); this.year = year; this.leap = leap; } @Test public void isLeapYear() { assertThat(PlainDate.of(this.year, 1, 1).isLeapYear(), is(this.leap)); } }