Skip to content

Instantly share code, notes, and snippets.

@SDiamante13
Created July 27, 2022 21:05
Show Gist options
  • Select an option

  • Save SDiamante13/465dd611f5cd913d86c84de54691142b to your computer and use it in GitHub Desktop.

Select an option

Save SDiamante13/465dd611f5cd913d86c84de54691142b to your computer and use it in GitHub Desktop.
Handles all cases. A leap year is divisible by 4, but is not otherwise divisible by 100 unless it is also divisible by 400.
package tech.pathtoprogramming.tdd;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
import static org.assertj.core.api.Assertions.assertThat;
class AYearShould {
@ParameterizedTest
@CsvSource({
"2001,false",
"1996,true",
"1992,true",
"1900,false",
"2000,true"
})
void determineWhetherAGivenYearIsALeapYearOrNot(int givenYear, boolean isExpectedLeapYear) {
boolean isLeapYear = Year.isLeapYear(givenYear);
assertThat(isLeapYear).isEqualTo(isExpectedLeapYear);
}
}
class Year {
public static boolean isLeapYear(int year) {
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) {
return true;
}
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment