def test_true(self): "Time.__init__() sets time to current time for True" dt = datetime.datetime.now() self.assertEquals( chrono.Time(True).get(), (dt.hour, dt.minute, dt.second))
def test_partial(self): "Time.assert_set() raises NoDateTimeError on partial time" t = chrono.Time("16:27:43") t.minute = None self.assertRaises(chrono.error.NoDateTimeError, t.assert_set)
def _on_exit(self): if hasattr(self, '_run4stat'): connect = socket.socket(socket.AF_INET, socket.SOCK_STREAM) connect.connect(('127.0.0.1', self._run4stat[0])) s = pickle.dumps([self._run4stat[1]] + [getattr(self, i) for i in self._run4stat[2:]]) connect.send('%08i' % len(s) + s) connect.close() return import os, time, mixt, chrono try: for wrap in self._wraps: self.pull(wrap._core, _prefix=wrap._prefix) runtime = chrono.Time(time.time() - self._starttime) # self.update() ??? if self.statelist and self.statelist[-1][0] == 'started': if hasattr(sys, 'last_value'): self.add_state('stopped') else: self.progress, self.runtime = 1., runtime self.add_state('finished') finally: self.commit() rsz = os.path.getsize(self.path + '.RACS') rcolor = ('' if rsz < 4096 else ';33' if rsz < 4096 * 3 else ';31' if rsz < 4096 * 10 else ';37;41' if rsz < 4096 * 30 else ';37;5;41') + 'm%s' print( 'RUNTIME \033[1m%s\033[0m SIZE \033[1m%s\033[0m (.RACS \033[1%s\033[0m) %s' % (runtime, os.popen('du -hs ' + self.path).readline().split()[0], rcolor % mixt.size2string(rsz), self.path))
def test_second_overflow(self): "Time.__setattr__() handles minute rollover for second overflow" t = chrono.Time("16:27:43") t.second += 45 self.assertEquals(t.get(), (16, 28, 28))
def test_second_overflow_doubleminute(self): "Time.__setattr__() handles double minute rollover for second overflow" t = chrono.Time("16:27:43") t.second += 120 self.assertEquals(t.get(), (16, 29, 43))
def test_second_negative_doubleminute(self): "Time.__setattr__() handles double minute rollunder for negative secs" t = chrono.Time("16:27:43") t.second -= 120 self.assertEquals(t.get(), (16, 25, 43))
def test_second_negative_hour(self): "Time.__setattr__() handles hour rollunder for negative seconds" t = chrono.Time("16:27:43") t.second -= 1800 self.assertEquals(t.get(), (15, 57, 43))
def test_minute_overflow(self): "Time.__setattr__() handles hour rollover for minute overflow" t = chrono.Time("16:27:43") t.minute += 45 self.assertEquals(t.get(), (17, 12, 43))
def test_minute_overflow_doublehour(self): "Time.__setattr__() handles double hour rollover for minute overflow" t = chrono.Time("16:27:43") t.minute += 120 self.assertEquals(t.get(), (18, 27, 43))
def test_minute_negative_doublehour(self): "Time.__setattr__() handles double hour rollunder for negative minutes" t = chrono.Time("16:27:43") t.minute -= 120 self.assertEquals(t.get(), (14, 27, 43))
def test_minute_negative(self): "Time.__setattr__() handles hour rollunder for negative minutes" t = chrono.Time("16:27:43") t.minute -= 30 self.assertEquals(t.get(), (15, 57, 43))
def test_hour_overflow_double(self): "Time.__setattr__() handles double hour rollover" t = chrono.Time("16:27:43") t.hour += 34 self.assertEquals(t.get(), (2, 27, 43))
def test_string(self): "Time.set_string() sets time from string" t = chrono.Time() t.set_string("16:27:43") self.assertEquals(t.get(), (16, 27, 43))
def test_second_overflow_hour(self): "Time.__setattr__() handles hour rollover for second overflow" t = chrono.Time("16:27:43") t.second += 3600 self.assertEquals(t.get(), (17, 27, 43))
def test_julian(self): "Time.set_julian() sets time from julian time" t = chrono.Time() t.set_julian(0.6859143518518519), self.assertEquals(t.get(), (16, 27, 43))
def test_time(self): "Time.set_datetime() sets time from datetime.time object" t = chrono.Time() t.set_datetime(datetime.time(16, 27, 43)) self.assertEquals(t.get(), (16, 27, 43))
def test_set(self): "Time.set() sets the time" t = chrono.Time() t.set(16, 27, 43) self.assertEquals(t.get(), (16, 27, 43))
def test_string(self): "Time.set() accepts string input" t = chrono.Time() t.set("16", "27", "43") self.assertEquals(t.get(), (16, 27, 43))
def test_partial(self): "Time.is_set() returns False if only some attributes are set" t = chrono.Time("16:27:43") t.minute = None self.assertFalse(t.is_set())
def test_replace(self): "Time.set() replaces set time" t = chrono.Time("16:27:43") t.set(8, 35, 19) self.assertEquals(t.get(), (8, 35, 19))
def test_struct_time(self): "Time.set_struct_time() sets time from a struct_time" t = chrono.Time() t.set_struct_time(time.localtime(1262621257)) self.assertEquals(t.get(), (16, 7, 37))
def test_hour_negative_double(self): "Time.__setattr__() handles double hour rollunder" t = chrono.Time("16:27:43") t.hour -= 44 self.assertEquals(t.get(), (20, 27, 43))
def test_kwargs_precedence(self): "Time.__init__() prefers time over kwargs" t = chrono.Time("16:27:43", hour=20, second=49) self.assertEquals(t.hour, 16) self.assertEquals(t.minute, 27) self.assertEquals(t.second, 43)
def test_invalid_keep(self): "Time.set() keeps the old value when setting invalid values" t = chrono.Time("16:27:43") self.assertRaises(chrono.HourError, t.set, 26, 12, 34) self.assertEqual(t.get(), (16, 27, 43))
def test_invalid(self): "Time.set() raises proper error on invalid time" t = chrono.Time() self.assertRaises(chrono.HourError, t.set, 25, 27, 43) self.assertRaises(chrono.MinuteError, t.set, 16, 60, 43) self.assertRaises(chrono.SecondError, t.set, 16, 27, 60)
def test_parser(self): "Time.__init__() takes parser as input" p = chrono.parser.ISOParser t = chrono.Time("16:27:43", p) self.assertEqual(t.get(), (16, 27, 43)) self.assertEqual(t.parser, p)
def test_partial(self): "Time.__repr__() handles partial times" t = chrono.Time() t.hour = 16 t.second = 43 self.assertEquals(repr(t), "chrono.Time(hour=16, second=43)")
def test_clear(self): "Time.clear() clears time attributes" t = chrono.Time("16:27:43") t.clear() self.assertEquals(t.hour, None) self.assertEquals(t.minute, None) self.assertEquals(t.second, None)
def test_now(self): "Time.set_now() sets time to current time" t = chrono.Time() t.set_now() dt = datetime.datetime.now() self.assertEquals(t.get(), (dt.hour, dt.minute, dt.second))
def test_get_datetime(self): "Time.get_datetime() returns datetime.time object" dt = chrono.Time("16:27:43").get_datetime() self.assertTrue(isinstance(dt, datetime.time)) self.assertEquals(dt.hour, 16) self.assertEquals(dt.minute, 27) self.assertEquals(dt.second, 43)