Files
ROS2_learn/src/py_params/test/test_param_declaration.py
T

37 lines
1.3 KiB
Python

"""测试 ParamsTalker 节点构造与参数声明。"""
from py_params.param_node import ParamsTalker
def test_default_node_name(params_talker: ParamsTalker) -> None:
"""默认节点名 'params_talker'"""
assert params_talker.get_name() == 'params_talker'
def test_default_publish_rate_hz(params_talker: ParamsTalker) -> None:
"""默认 publish_rate_hz == 1.0。"""
assert params_talker.get_parameter('publish_rate_hz').value == 1.0
def test_default_topic_name(params_talker: ParamsTalker) -> None:
"""默认 topic_name == 'params_chatter'"""
assert params_talker.get_parameter('topic_name').value == 'params_chatter'
def test_default_message_prefix(params_talker: ParamsTalker) -> None:
"""默认 message_prefix == 'Params:'"""
assert params_talker.get_parameter('message_prefix').value == 'Params:'
def test_publisher_created(params_talker: ParamsTalker) -> None:
"""默认 topic 上有发布者。"""
assert params_talker.count_publishers('params_chatter') >= 1
def test_timer_created(params_talker: ParamsTalker) -> None:
"""定时器已创建。"""
assert sum(1 for _ in params_talker.timers) >= 1
def test_prefix_cached(params_talker: ParamsTalker) -> None:
"""缓存前缀与参数默认值一致。"""
assert params_talker._prefix == 'Params:'