File: renaming_testing.py

package info (click to toggle)
morse-simulator 1.4-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 187,116 kB
  • sloc: ansic: 108,311; python: 25,694; cpp: 786; makefile: 126; xml: 34; sh: 7
file content (100 lines) | stat: -rwxr-xr-x 2,732 bytes parent folder | download | duplicates (3)
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)