Skip to content

Commit

Permalink
use a constant instead of a static factory method for duration.infinite
Browse files Browse the repository at this point in the history
Signed-off-by: Emerson Knapp <eknapp@amazon.com>
  • Loading branch information
Emerson Knapp committed Apr 16, 2021
1 parent c707d11 commit 5b8cccc
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
10 changes: 5 additions & 5 deletions rclpy/rclpy/duration.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def __repr__(self):
return 'Duration(nanoseconds={0})'.format(self.nanoseconds)

def __str__(self):
if self == Duration.Infinite():
if self == Infinite:
return 'Infinite'
return f'{self.nanoseconds} nanoseconds'

Expand Down Expand Up @@ -82,9 +82,9 @@ def from_msg(cls, msg):
raise TypeError('Must pass a builtin_interfaces.msg.Duration object')
return cls(seconds=msg.sec, nanoseconds=msg.nanosec)

@classmethod
def Infinite(cls):
return cls(nanoseconds=_rclpy.RMW_DURATION_INFINITE)

def get_c_duration(self):
return self._duration_handle


# Constant representing an infinite amount of time.
Infinite = Duration(nanoseconds=_rclpy.RMW_DURATION_INFINITE)
3 changes: 2 additions & 1 deletion rclpy/test/test_time.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

from rclpy.clock import ClockType
from rclpy.duration import Duration
from rclpy.duration import Infinite
from rclpy.time import Time

from test_msgs.msg import Builtins
Expand Down Expand Up @@ -230,5 +231,5 @@ def test_seconds_nanoseconds(self):
assert (0, 0) == Time().seconds_nanoseconds()

def test_infinite_duration(self):
duration = Duration.Infinite()
duration = Infinite
assert str(duration) == 'Infinite'

0 comments on commit 5b8cccc

Please sign in to comment.