class TestBestBefore(unittest.TestCase): def setUp(self): self.bb = BestBefore() def test_splitInputLine_splits_line_correctly(self): self.assertEqual(self.bb.splitInputLine("02/4/67\n"), ['02', '4', '67']) def test_tupleToDate_converts_valid_date(self): self.assertEqual(self.bb.tupleToDate(("67", "02", "4")), date(2067, 2, 4)) def test_padYear_pads_two_digit_years(self): self.assertEqual(self.bb.tupleToDate(("67", "02", "4")), date(2067, 2, 4)) def test_padYear_does_not_pad_four_digit_years(self): self.assertEqual(self.bb.tupleToDate(("2067", "02", "4")), date(2067, 2, 4))
def setUp(self): self.sut = BestBefore()
class TestBestBefore(unittest.TestCase): def setUp(self): self.sut = BestBefore() def test_earliest_date_with_valid_dates(self): self.assertEquals('2067-02-04', self.sut.earliest_date('02/4/67')) self.assertEquals('2002-04-07', self.sut.earliest_date('02/4/7')) self.assertEquals('2067-02-04', self.sut.earliest_date('02/4/67')) self.assertEquals('2002-04-07', self.sut.earliest_date('02/4/7')) self.assertEquals('2000-02-04', self.sut.earliest_date('02/4/0')) self.assertEquals('2002-05-05', self.sut.earliest_date('2002/5/5')) self.assertEquals('2005-05-05', self.sut.earliest_date('5/5/5')) self.assertEquals('2099-05-05', self.sut.earliest_date('5/5/99')) self.assertEquals('2005-05-05', self.sut.earliest_date('05/5/5')) self.assertEquals('2999-05-05', self.sut.earliest_date('05/5/2999')) self.assertEquals('2000-05-05', self.sut.earliest_date('05/5/2000')) self.assertEquals('2000-02-03', self.sut.earliest_date('02/03/00')) self.assertEquals('2000-02-03', self.sut.earliest_date('02/03/0')) self.assertEquals('2001-02-03', self.sut.earliest_date('1/2/3')) self.assertEquals('2001-02-03', self.sut.earliest_date('3/2/1')) def test_earliest_date_with_different_year_formats(self): self.assertEquals('2000-02-03', self.sut.earliest_date('02/03/0')) self.assertEquals('2000-02-03', self.sut.earliest_date('02/03/00')) self.assertEquals('2000-02-03', self.sut.earliest_date('02/03/2000')) def test_leading_zeros_in_days(self): self.assertEquals('2010-02-03', self.sut.earliest_date('02/03/2010')) self.assertEquals('2010-02-03', self.sut.earliest_date('02/3/2010')) def test_leading_zeros_in_months(self): self.assertEquals('2010-02-03', self.sut.earliest_date('2/03/2010')) self.assertEquals('2010-02-03', self.sut.earliest_date('02/03/2010')) def test_earliest_date_wtih_invalid_dates(self): self.assertEquals('31/9/73 is illegal', self.sut.earliest_date('31/9/73')) self.assertEquals('31/2/73 is illegal', self.sut.earliest_date('31/2/73')) self.assertEquals('20/20/20 is illegal', self.sut.earliest_date('20/20/20')) self.assertEquals('3/2/ is illegal', self.sut.earliest_date('3/2/')) self.assertEquals('3/2 is illegal', self.sut.earliest_date('3/2')) self.assertEquals('321 is illegal', self.sut.earliest_date('321')) self.assertEquals(' is illegal', self.sut.earliest_date(''))
def setUp(self): self.bb = BestBefore()