1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
#! /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
class RenamingTest(MorseTestCase):
def setUpEnv(self):
""" Defines the test scenario, using the Builder API.
"""
class MyMorsy(Morsy):
def __init__(self, name = None):
Morsy.__init__(self, name)
self.arm = KukaLWR()
self.append(self.arm)
self.pose = Pose()
self.arm.append(self.pose)
morsy = Morsy()
arm = KukaLWR()
arm.name = 'my_kuka'
morsy.append(arm)
pose = Pose('my_pose')
arm.append(pose)
robot2 = Morsy('mana')
arm = KukaLWR()
robot2.append(arm)
pose = Pose()
pose.name = 'my_pose2'
arm.append(pose)
robot3 = Morsy()
robot3.name = 'dala'
arm = KukaLWR('my_kuka')
robot3.append(arm)
pose = Pose()
arm.append(pose)
# class based
robot4 = MyMorsy()
robot5 = MyMorsy('foo')
robot6 = MyMorsy()
robot6.name = 'bar'
# looping
for i in range(10):
m = Morsy()
arm = KukaLWR()
m.append(arm)
pose = Pose()
arm.append(pose)
AbstractComponent.close_context()
env = Environment('empty', fastmode = True)
env.create()
def test_renaming(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.morsy.my_kuka.my_pose
p2 = morse.mana.arm.my_pose2
p3 = morse.dala.my_kuka.pose
p4 = morse.robot4.arm.pose
p5 = morse.foo.arm.pose
p6 = morse.bar.arm.pose
p7 = morse.m.arm.pose
p8 = morse.m_001.arm.pose
p9 = morse.m_002.arm.pose
p10 = morse.m_003.arm.pose
# ...
self.assertEqual(len(morse.ms), 10)
self.assertEqual(morse.m, morse.ms[0])
self.assertEqual(morse.m_001, morse.ms[1])
self.assertEqual(morse.m_002, morse.ms[2])
########################## Run these tests ##########################
if __name__ == "__main__":
from morse.testing.testing import main
main(RenamingTest)
|