def test_set_rostime(self): from rospy.rostime import _set_rostime from rospy import Time self.assertAlmostEqual(time.time(), rospy.get_time(), 1) for t in [ Time.from_seconds(1.0), Time.from_sec(1.0), Time.from_seconds(4.0), Time.from_sec(4.0) ]: _set_rostime(t) self.assertEquals(t, rospy.get_rostime()) self.assertEquals(t.to_time(), rospy.get_time())
#!/usr/bin/python2 import rosbag from rospy import Time from std_msgs.msg import Int32, String bag = rosbag.Bag('test.bag', 'w') try: for it in range(0,10): s = String() s.data = 'foo-' + str(it) i = Int32() i.data = it bag.write('chatter', s, t=Time.from_seconds(it+0.3)) bag.write('numbers', i, t=Time.from_seconds(it+0.5)) finally: bag.close()
def test_Time(self): # This is a copy of test_roslib_rostime from rospy import Time, Duration # #1600 Duration > Time should fail failed = False try: v = Duration.from_sec(0.1) > Time.from_sec(0.5) failed = True except: pass self.failIf(failed, "should have failed to compare") try: v = Time.from_sec(0.4) > Duration.from_sec(0.1) failed = True except: pass self.failIf(failed, "should have failed to compare") try: # neg time fails Time(-1) failed = True except: pass self.failIf(failed, "negative time not allowed") try: Time(1, -1000000001) failed = True except: pass self.failIf(failed, "negative time not allowed") # test Time.now() is within 10 seconds of actual time (really generous) import time t = time.time() v = Time.from_sec(t) self.assertEquals(v.to_sec(), t) self.assertEquals(v.to_seconds(), t) # test from_sec() self.assertEquals(Time.from_sec(0), Time()) self.assertEquals(Time.from_sec(1.), Time(1)) self.assertEquals(Time.from_sec(v.to_sec()), v) self.assertEquals(v.from_sec(v.to_sec()), v) # test from_seconds() self.assertEquals(Time.from_seconds(0), Time()) self.assertEquals(Time.from_seconds(1.), Time(1)) self.assertEquals(Time.from_seconds(v.to_seconds()), v) self.assertEquals(v.from_seconds(v.to_seconds()), v) # test to_time() self.assertEquals(v.to_seconds(), v.to_time()) # test addition # - time + time fails try: v = Time(1, 0) + Time(1, 0) failed = True except: pass self.failIf(failed, "Time + Time must fail") # - time + duration v = Time(1, 0) + Duration(1, 0) self.assertEquals(Time(2, 0), v) v = Duration(1, 0) + Time(1, 0) self.assertEquals(Time(2, 0), v) v = Time(1, 1) + Duration(1, 1) self.assertEquals(Time(2, 2), v) v = Duration(1, 1) + Time(1, 1) self.assertEquals(Time(2, 2), v) v = Time(1) + Duration(0, 1000000000) self.assertEquals(Time(2), v) v = Duration(1) + Time(0, 1000000000) self.assertEquals(Time(2), v) v = Time(100, 100) + Duration(300) self.assertEquals(Time(400, 100), v) v = Duration(300) + Time(100, 100) self.assertEquals(Time(400, 100), v) v = Time(100, 100) + Duration(300, 300) self.assertEquals(Time(400, 400), v) v = Duration(300, 300) + Time(100, 100) self.assertEquals(Time(400, 400), v) v = Time(100, 100) + Duration(300, -101) self.assertEquals(Time(399, 999999999), v) v = Duration(300, -101) + Time(100, 100) self.assertEquals(Time(399, 999999999), v) # test subtraction try: v = Time(1, 0) - 1 failed = True except: pass self.failIf(failed, "Time - non Duration must fail") class Foob(object): pass try: v = Time(1, 0) - Foob() failed = True except: pass self.failIf(failed, "Time - non TVal must fail") # - Time - Duration v = Time(1, 0) - Duration(1, 0) self.assertEquals(Time(), v) v = Time(1, 1) - Duration(-1, -1) self.assertEquals(Time(2, 2), v) v = Time(1) - Duration(0, 1000000000) self.assertEquals(Time(), v) v = Time(2) - Duration(0, 1000000000) self.assertEquals(Time(1), v) v = Time(400, 100) - Duration(300) self.assertEquals(Time(100, 100), v) v = Time(100, 100) - Duration(0, 101) self.assertEquals(Time(99, 999999999), v) # - Time - Time = Duration v = Time(100, 100) - Time(100, 100) self.assertEquals(Duration(), v) v = Time(100, 100) - Time(100) self.assertEquals(Duration(0, 100), v) v = Time(100) - Time(200) self.assertEquals(Duration(-100), v)