def test_dict_to_datatime(self): date = {'date1': '17/05/2020', 'date2': '17/05/2021'} result = cast(date, '%d/%m/%Y').todatetime() self.assertEqual( result, { 'date1': datetime(2020, 5, 17, 0, 0), 'date2': datetime(2021, 5, 17, 0, 0) })
def test_dict_to_str_complex(self): date = { 'date1': datetime(2020, 5, 17, 0, 0), 'date2': [{ 'date2': datetime(2021, 5, 17, 0, 0) }] } result = cast(date, '%d/%m/%Y').tostr() self.assertEqual(result, { 'date1': '17/05/2020', 'date2': [{ 'date2': '17/05/2021' }] })
def test_list_list_to_str(self): date = [datetime(2020, 5, 17, 0, 0), [datetime(2021, 5, 17, 0, 0)]] result = cast(date, '%d/%m/%Y').tostr() self.assertEqual(result, ['17/05/2020', ['17/05/2021']])
def test_datetime_to_str(self): date = datetime(2020, 5, 17) result = cast(date).tostr() self.assertEqual(result, '2020-05-17 00:00:00')
def test_list_list_to_datatime(self): date = [['17/05/2020'], '17/05/2021'] result = cast(date, '%d/%m/%Y').todatetime() self.assertEqual(result, [[datetime(2020, 5, 17, 0, 0)], datetime(2021, 5, 17, 0, 0)])
def test_str_to_datatime_formatted_then_pass_formatting(self): date = '17/05/2020' date = cast(date) result = date.convert_to_datetime(format='%d/%m/%Y') self.assertEqual(result, datetime(2020, 5, 17, 0, 0))
def test_str_to_datatime_formatted(self): date = '17/05/2020' result = cast(date, '%d/%m/%Y').todatetime() self.assertEqual(result, datetime(2020, 5, 17, 0, 0))
def test_datetime_to_datatime(self): date = '17/05/20' result = cast(date).todatetime() self.assertEqual(result, datetime(2020, 5, 17, 0, 0))
def test_datetime_to_str_then_pass_format(self): date = datetime(2020, 5, 17) jdt = cast(date) result = jdt.convert_to_str(format='%d/%m/%y') self.assertEqual(result, '17/05/20')
def test_error_convert_to_formatted_datetime(self): date = '2020, 5, 17' self.assertRaises(TypeError, cast(date, 1).todatetime())
def test_error_convert_to_formatted_str(self): date = datetime(2020, 5, 17) # result = cast(date, 1).tostr() self.assertRaises(TypeError, cast(date, 1).tostr())
def test_datetime_to_str_formate(self): date = datetime(2020, 5, 17) result = cast(date, '%d/%m/%y').tostr() self.assertEqual(result, '17/05/20')