def test_as_datetime(self): fd = FlexiDate(2000) out = fd.as_datetime() assert out == datetime.datetime(2000, 1, 1), out fd = FlexiDate(1760, 1, 2) out = fd.as_datetime() assert out == datetime.datetime(1760,1,2), out
def test_init(self): fd = FlexiDate() assert fd.year == '', fd assert fd.month == '', fd fd = FlexiDate(2000, 1,1) assert fd.month == '01', fd assert fd.day== '01', fd
def test_as_float(self): fd = FlexiDate(2000) assert fd.as_float() == float(2000), fd.as_float() fd = FlexiDate(1760, 1, 2) exp = 1760 + 1/12.0 + 2/365.0 assert fd.as_float() == exp, fd.as_float() fd = FlexiDate(-1000) assert fd.as_float() == float(-1000)
def test_from_str(self): def dotest(fd): out = FlexiDate.from_str(str(fd)) assert str(out) == str(fd) fd = FlexiDate(2000, 1, 23) dotest(fd) fd = FlexiDate(1760, qualifier='fl.') dotest(fd) fd = FlexiDate(-1760, 1, 3, qualifier='fl.') dotest(fd)
def test_str(self): fd = FlexiDate(2000, 1, 23) assert str(fd) == '2000-01-23', '"%s"' % fd fd = FlexiDate(-2000, 1, 23) assert str(fd) == '-2000-01-23' fd = FlexiDate(2000) assert str(fd) == '2000' fd = FlexiDate(1760, qualifier='fl.') assert str(fd) == '1760 [fl.]', fd fd = FlexiDate(qualifier='anything') assert str(fd) == ' [anything]'
def test_init(self): fd = FlexiDate() assert fd.year == '', fd assert fd.month == '', fd fd = FlexiDate(2000, 1, 1) assert fd.month == '01', fd assert fd.day == '01', fd fd = FlexiDate(2004, 3, 2, 10) assert fd.month == '03', fd assert fd.day == '02', fd assert fd.hour == '10', fd fd = FlexiDate(2004, 3, 2, 10, 11) assert fd.month == '03', fd assert fd.day == '02', fd assert fd.hour == '10', fd assert fd.minute == '11', fd fd = FlexiDate(2004, 3, 2, 10, 11, 12) assert fd.month == '03', fd assert fd.day == '02', fd assert fd.hour == '10', fd assert fd.minute == '11', fd assert fd.second == '12', fd fd = FlexiDate(2004, 3, 2, 10, 11, 12, 123456) assert fd.month == '03', fd assert fd.day == '02', fd assert fd.hour == '10', fd assert fd.minute == '11', fd assert fd.second == '12', fd assert fd.microsecond == '123456', fd
def test_parse(self): d1 = datetime.date(2000, 1, 23) fd = parse(d1) assert fd.year == '2000' d1 = datetime.datetime(2002, 1, 23) fd = parse(d1) assert fd.year == '2002' fd = parse('March 1762') assert str(fd) == '1762-03' fd = parse(1966) assert str(fd) == '1966' fd = parse('22/07/2010') assert fd.month == '07', fd.month d2 = FlexiDate(1760, 1, 2) fd = parse(d2) assert fd.year == '1760'
def test_isoformat(self): fd = FlexiDate(2000, 1, 24) assert str(fd.isoformat()) == '2000-01-24'
def test_cvt(self): fd = FlexiDate(2016, 3, 16) assert fd._cvt(None, 4, True) == '!!!!'
def test_repr(self): fd = FlexiDate(2016, 3, 15) assert repr(fd) == "<class 'flexidate.FlexiDate'> 2016-03-15"