예제 #1
0
 def test_model_state_conversion(self):
     sep = self.state_cls.separator
     states = [
         'P{0}1'.format(sep),
         [
             'P{0}2{0}a'.format(sep),
             [[
                 'P{0}2{0}b{0}x{0}1'.format(sep),
                 'P{0}2{0}b{0}x{0}2'.format(sep)
             ], 'P{0}2{0}b{0}y'.format(sep)]
         ]
     ]
     tree = OrderedDict([
         ('P',
          OrderedDict([
              ('1', OrderedDict()),
              ('2',
               OrderedDict([
                   ('a', OrderedDict()),
                   ('b',
                    OrderedDict([('x',
                                  OrderedDict([('1', OrderedDict()),
                                               ('2', OrderedDict())])),
                                 ('y', OrderedDict())]))
               ]))
          ]))
     ])
     m = self.machine_cls()
     self.assertEqual(tree, m._build_state_tree(states, sep))
     self.assertEqual(states, _build_state_list(tree, sep))
 def test_model_state_conversion(self):
     sep = self.state_cls.separator
     states = [
         'P%s1' % (sep, ),
         [
             'P%s2%sa' % (
                 sep,
                 sep,
             ),
             [[
                 'P%s2%sb%sx%s1' % (
                     sep,
                     sep,
                     sep,
                     sep,
                 ),
                 'P%s2%sb%sx%s2' % (
                     sep,
                     sep,
                     sep,
                     sep,
                 )
             ],
              'P%s2%sb%sy' % (
                  sep,
                  sep,
                  sep,
              )]
         ]
     ]
     tree = OrderedDict([
         ('P',
          OrderedDict([
              ('1', OrderedDict()),
              ('2',
               OrderedDict([
                   ('a', OrderedDict()),
                   ('b',
                    OrderedDict([('x',
                                  OrderedDict([('1', OrderedDict()),
                                               ('2', OrderedDict())])),
                                 ('y', OrderedDict())]))
               ]))
          ]))
     ])
     m = self.machine_cls()
     self.assertEqual(tree, m._build_state_tree(states, sep))
     self.assertEqual(states, _build_state_list(tree, sep))