def test_year(self): """ Testing: %y Year without century as a zero padded decimal number [00, 99]. %n Year without century as a decimal number in persian form [۱, ۹۹]. %u Year without century as a zero padded decimal number in persian form [۰۱, ۹۹]. %Y Year with century as a decimal number [1-3178]. %N Year with century as a decimal number in persian form [۱-۳۱۷۸]. %O Year with century as a zero padded decimal number in persian form [۰۰۰۱-۳۱۷۸]. """ self.assertEqual(JalaliDate(1361, 6, 15).strftime('%y'), u'61') self.assertEqual(JalaliDate(1361, 6, 15).strftime('%Y'), u'1361') self.assertEqual(JalaliDate(61, 11, 5).strftime('%N'), u'۶۱') self.assertEqual(JalaliDate(61, 11, 5).strftime('%O'), u'۰۰۶۱') self.assertEqual(JalaliDate.strptime('94', '%y'), JalaliDate(1394)) self.assertEqual(JalaliDate.strptime('01', '%y'), JalaliDate(1301)) self.assertEqual(JalaliDate.strptime('00', '%y'), JalaliDate(1300)) self.assertEqual(JalaliDate.strptime(u'۹۴', '%n'), JalaliDate(1394)) self.assertEqual(JalaliDate.strptime(u'۱', '%n'), JalaliDate(1301)) self.assertEqual(JalaliDate.strptime(u'۰', '%n'), JalaliDate(1300)) self.assertEqual(JalaliDate.strptime(u'۹۴', '%u'), JalaliDate(1394)) self.assertEqual(JalaliDate.strptime(u'۰۱', '%u'), JalaliDate(1301)) self.assertEqual(JalaliDate.strptime(u'۰۰', '%u'), JalaliDate(1300)) self.assertEqual(JalaliDate.strptime(u'۰۰۴', '%N'), JalaliDate(4, 1, 1)) self.assertEqual(JalaliDate.strptime(u'۰۴', '%N'), JalaliDate(4, 1, 1)) self.assertEqual(JalaliDate.strptime(u'۴', '%N'), JalaliDate(4, 1, 1)) self.assertEqual(JalaliDate.strptime(u'۰۰۴', '%O'), JalaliDate(4, 1, 1)) self.assertEqual(JalaliDate.strptime(u'۰۴', '%O'), JalaliDate(4, 1, 1)) self.assertEqual(JalaliDate.strptime(u'۴', '%O'), JalaliDate(4, 1, 1)) this_century = JalaliDate(int(JalaliDate.today().year / 100) * 100) for i in range(99): self.assert_parse_and_format( this_century.replace(year=this_century.year + i), '%y') self.assert_parse_and_format( this_century.replace(year=this_century.year + i), '%n') self.assert_parse_and_format( this_century.replace(year=this_century.year + i), '%u') for i in range(1, 1001): self.assert_parse_and_format(JalaliDate(i), '%Y') self.assert_parse_and_format(JalaliDate(i), '%N') self.assert_parse_and_format(JalaliDate(i), '%O')
def test_year(self): """ Testing: %y Year without century as a zero padded decimal number [00, 99]. %n Year without century as a decimal number in persian form [۱, ۹۹]. %u Year without century as a zero padded decimal number in persian form [۰۱, ۹۹]. %Y Year with century as a decimal number [1-3178]. %N Year with century as a decimal number in persian form [۱-۳۱۷۸]. %O Year with century as a zero padded decimal number in persian form [۰۰۰۱-۳۱۷۸]. """ self.assertEqual(JalaliDate(1361, 6, 15).strftime('%y'), u'61') self.assertEqual(JalaliDate(1361, 6, 15).strftime('%Y'), u'1361') self.assertEqual(JalaliDate(61, 11, 5).strftime('%N'), u'۶۱') self.assertEqual(JalaliDate(61, 11, 5).strftime('%O'), u'۰۰۶۱') self.assertEqual(JalaliDate.strptime('94', '%y'), JalaliDate(1394)) self.assertEqual(JalaliDate.strptime('01', '%y'), JalaliDate(1301)) self.assertEqual(JalaliDate.strptime('00', '%y'), JalaliDate(1300)) self.assertEqual(JalaliDate.strptime(u'۹۴', '%n'), JalaliDate(1394)) self.assertEqual(JalaliDate.strptime(u'۱', '%n'), JalaliDate(1301)) self.assertEqual(JalaliDate.strptime(u'۰', '%n'), JalaliDate(1300)) self.assertEqual(JalaliDate.strptime(u'۹۴', '%u'), JalaliDate(1394)) self.assertEqual(JalaliDate.strptime(u'۰۱', '%u'), JalaliDate(1301)) self.assertEqual(JalaliDate.strptime(u'۰۰', '%u'), JalaliDate(1300)) self.assertEqual(JalaliDate.strptime(u'۰۰۴', '%N'), JalaliDate(4, 1, 1)) self.assertEqual(JalaliDate.strptime(u'۰۴', '%N'), JalaliDate(4, 1, 1)) self.assertEqual(JalaliDate.strptime(u'۴', '%N'), JalaliDate(4, 1, 1)) self.assertEqual(JalaliDate.strptime(u'۰۰۴', '%O'), JalaliDate(4, 1, 1)) self.assertEqual(JalaliDate.strptime(u'۰۴', '%O'), JalaliDate(4, 1, 1)) self.assertEqual(JalaliDate.strptime(u'۴', '%O'), JalaliDate(4, 1, 1)) this_century = JalaliDate(int(JalaliDate.today().year/100) * 100) for i in range(99): self.assert_parse_and_format(this_century.replace(year=this_century.year+i), '%y') self.assert_parse_and_format(this_century.replace(year=this_century.year+i), '%n') self.assert_parse_and_format(this_century.replace(year=this_century.year+i), '%u') for i in range(1, 1001): self.assert_parse_and_format(JalaliDate(i), '%Y') self.assert_parse_and_format(JalaliDate(i), '%N') self.assert_parse_and_format(JalaliDate(i), '%O')
def test_replace(self): d1 = JalaliDate(1391, 12, 30) self.assertEqual(d1.replace(year=1395), JalaliDate(1395, 12, 30)) self.assertEqual(d1.replace(month=1), JalaliDate(1391, 1, 30)) self.assertEqual(d1.replace(day=1), JalaliDate(1391, 12, 1)) self.assertRaises(ValueError, d1.replace, year=1392)
def test_replace(self): d1 = JalaliDate(1391, 12, 30) self.assertEqual(d1.replace(year=1395), JalaliDate(1395, 12, 30)) self.assertEqual(d1.replace(month=1), JalaliDate(1391, 1, 30)) self.assertEqual(d1.replace(day=1), JalaliDate(1391, 12, 1)) self.assertRaises(ValueError, d1.replace, year=1392)