Source code for base.builder_wheeled_robot

#! /usr/bin/env python
"""
This script tests some of the base functionalities of MORSE.
"""

import sys
from morse.testing.testing import MorseTestCase

# Include this import to be able to use your test file as a regular 
# builder script, ie, usable with: 'morse [run|exec] base_testing.py
try:
    from morse.builder import *
except ImportError:
    pass

from pymorse import Morse

[docs]class BuilderWheeledRobotTest(MorseTestCase):
[docs] def setUpEnv(self): """ Defines the test scenario, using the Builder API. """ robot = SegwayRMP400() p1 = Pose() p1.translate(x=1.0) robot.append(p1) p2 = Pose() robot.append(p2) p2.translate(x=2.0) robot.add_default_interface('socket') env = Environment('empty', fastmode = True)
[docs] def test_correct_position(self): """ Tests the simulator can return the list of robots This test is guaranteed to be started only when the simulator is ready. """ with Morse() as morse: p1 = morse.robot.p1 p2 = morse.robot.p2 delta = 0.05 pose1 = p1.get() self.assertAlmostEquals(pose1['x'], 1.0, delta=delta) self.assertAlmostEquals(pose1['y'], 0.0, delta=delta) self.assertAlmostEquals(pose1['yaw'], 0.0, delta=delta) pose2 = p2.get() self.assertAlmostEquals(pose2['x'], 2.0, delta=delta) self.assertAlmostEquals(pose2['y'], 0.0, delta=delta) self.assertAlmostEquals(pose2['yaw'], 0.0, delta=delta)
########################## Run these tests ########################## if __name__ == "__main__": from morse.testing.testing import main main(BuilderWheeledRobotTest)