-
Notifications
You must be signed in to change notification settings - Fork 0
/
leap_test.py
38 lines (24 loc) · 1.23 KB
/
leap_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import unittest
from leap import leap_year
# Tests adapted from `problem-specifications//canonical-data.json`
class LeapTest(unittest.TestCase):
def test_year_not_divisible_by_4_in_common_year(self):
self.assertIs(leap_year(2015), False)
def test_year_divisible_by_2_not_divisible_by_4_in_common_year(self):
self.assertIs(leap_year(1970), False)
def test_year_divisible_by_4_not_divisible_by_100_in_leap_year(self):
self.assertIs(leap_year(1996), True)
def test_year_divisible_by_4_and_5_is_still_a_leap_year(self):
self.assertIs(leap_year(1960), True)
def test_year_divisible_by_100_not_divisible_by_400_in_common_year(self):
self.assertIs(leap_year(2100), False)
def test_year_divisible_by_100_but_not_by_3_is_still_not_a_leap_year(self):
self.assertIs(leap_year(1900), False)
def test_year_divisible_by_400_in_leap_year(self):
self.assertIs(leap_year(2000), True)
def test_year_divisible_by_400_but_not_by_125_is_still_a_leap_year(self):
self.assertIs(leap_year(2400), True)
def test_year_divisible_by_200_not_divisible_by_400_in_common_year(self):
self.assertIs(leap_year(1800), False)
if __name__ == "__main__":
unittest.main()