def test_repr_overload(self): timeobj = Timecode('24', '01:00:00:00') self.assertEqual('01:00:00:00', timeobj.__repr__()) timeobj = Timecode('23.98', '20:00:00:00') self.assertEqual('20:00:00:00', timeobj.__repr__()) timeobj = Timecode('29.97', '00:09:00;00') self.assertEqual('00:08:59;28', timeobj.__repr__()) timeobj = Timecode('30', '00:10:00:00') self.assertEqual('00:10:00:00', timeobj.__repr__()) timeobj = Timecode('60', '00:00:09:00') self.assertEqual('00:00:09:00', timeobj.__repr__()) timeobj = Timecode('59.94', '00:00:20;00') self.assertEqual('00:00:20;00', timeobj.__repr__()) timeobj = Timecode('59.94', '00:00:20;00') self.assertNotEqual('00:00:20:00', timeobj.__repr__()) timeobj = Timecode('ms', '00:00:00.900') self.assertEqual('00:00:00.900', timeobj.__repr__()) timeobj = Timecode('ms', '00:00:00.900') self.assertNotEqual('00:00:00:900', timeobj.__repr__()) timeobj = Timecode('24', frames=49) self.assertEqual('00:00:02:00', timeobj.__repr__())
def test_repr_overload(self): timeobj = Timecode('24', '01:00:00:00') self.assertEqual('01:00:00:00', timeobj.__repr__()) timeobj = Timecode('23.98', '20:00:00:00') self.assertEqual('20:00:00:00', timeobj.__repr__()) timeobj = Timecode('29.97', '00:09:00;00') self.assertEqual('00:08:59;28', timeobj.__repr__()) timeobj = Timecode('30', '00:10:00:00') self.assertEqual('00:10:00:00', timeobj.__repr__()) timeobj = Timecode('60', '00:00:09:00') self.assertEqual('00:00:09:00', timeobj.__repr__()) timeobj = Timecode('59.94', '00:00:20;00') self.assertEqual('00:00:20;00', timeobj.__repr__()) timeobj = Timecode('59.94', '00:00:20;00') self.assertNotEqual('00:00:20:00', timeobj.__repr__()) timeobj = Timecode('ms', '00:00:00.900') self.assertEqual('00:00:00.900', timeobj.__repr__()) timeobj = Timecode('ms', '00:00:00.900') self.assertNotEqual('00:00:00:900', timeobj.__repr__()) timeobj = Timecode('24', frames=49) self.assertEqual('00:00:02:00', timeobj.__repr__())
def test_toggle_fractional_frame(self): tc = Timecode(24, 421729315) self.assertEqual(tc.__repr__(), '19:23:14:23') tc.set_fractional(True) self.assertEqual(tc.__repr__(), '19:23:14.958') tc.set_fractional(False) self.assertEqual(tc.__repr__(), '19:23:14:23')
def test_rational_frame_delimiter(self): tc = Timecode('24000/1000', frames=1) self.assertFalse(';' in tc.__repr__()) tc = Timecode('24000/1001', frames=1) self.assertFalse(';' in tc.__repr__()) tc = Timecode('30000/1001', frames=1) self.assertTrue(';' in tc.__repr__())
def test_toggle_fractional_frame(self): tc = Timecode(24, 421729315) self.assertEqual(tc.__repr__(), '19:23:14:23') tc.set_fractional(True) self.assertEqual(tc.__repr__(), '19:23:14.958') tc.set_fractional(False) self.assertEqual(tc.__repr__(), '19:23:14:23')
def test_rational_frame_delimiter(self): tc = Timecode('24000/1000', frames=1) self.assertFalse(';' in tc.__repr__()) tc = Timecode('24000/1001', frames=1) self.assertFalse(';' in tc.__repr__()) tc = Timecode('30000/1001', frames=1) self.assertTrue(';' in tc.__repr__())
def test_24_hour_limit_in_2997fps(self): """testing if the timecode will loop back to 00:00:00:00 after 24 hours in 29.97 fps """ tc = Timecode('29.97', '00:00:00:21') self.assertTrue(tc.drop_frame) self.assertEqual(22, tc.frames) tc2 = Timecode('29.97', '23:59:59:29') self.assertTrue(tc2.drop_frame) self.assertEqual(2589408, tc2.frames) self.assertEqual( '00:00:00:21', tc.__repr__() ) self.assertEqual( '23:59:59:29', tc2.__repr__() ) self.assertEqual( '00:00:00:21', (tc + tc2).__str__() ) self.assertEqual( '02:00:00:00', (tc2 + 215785).__str__() ) self.assertEqual( '02:00:00:00', (tc2 + 215785 + 2589408).__str__() ) self.assertEqual( '02:00:00:00', (tc2 + 215785 + 2589408 + 2589408).__str__() )
def test_force_drop_frame_to_false(self): tc = Timecode('29.97', '01:00:00:00', force_non_drop_frame=True) self.assertEqual('00:59:56:12', tc.__repr__())