Source code for base.levels

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

import sys
import math
from morse.testing.testing import MorseTestCase
from pymorse import Morse

# 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

[docs]class LevelsTest(MorseTestCase):
[docs] def setUpEnv(self): """ Defines the test scenario, using the Builder API. """ robot = ATRV() odo = Odometry() # odometry level default to 'differential' robot.append(odo) odo.add_stream('socket') diff_odo = Odometry() diff_odo.level("differential") robot.append(diff_odo) diff_odo.add_stream('socket') raw_odo = Odometry() raw_odo.level("raw") robot.append(raw_odo) raw_odo.add_stream('socket') integ_odo = Odometry() integ_odo.level("integrated") robot.append(integ_odo) integ_odo.add_stream("socket") env = Environment('empty', fastmode = True) env.add_service('socket')
[docs] def test_levels(self): with Morse() as morse: odo = morse.robot.odo.get() diff_odo = morse.robot.diff_odo.get() raw_odo = morse.robot.raw_odo.get() integ_odo = morse.robot.integ_odo.get() self.assertEquals(set(['timestamp', 'dS']), set(raw_odo.keys())) self.assertEquals(set(['timestamp', 'x', 'y', 'z', 'yaw', 'pitch', 'roll', 'vx', 'vy', 'vz', 'wz', 'wy', 'wx']), set(integ_odo.keys())) self.assertEquals(set(['timestamp', 'dx', 'dy', 'dz', 'dyaw', 'dpitch', 'droll']), set(diff_odo.keys())) self.assertEquals(set(integ_odo.keys()), set(odo.keys()))
########################## Run these tests ########################## if __name__ == "__main__": from morse.testing.testing import main main(LevelsTest)