当前位置: 首页>>代码示例>>Python>>正文


Python Machine.get_state方法代码示例

本文整理汇总了Python中transitions.Machine.get_state方法的典型用法代码示例。如果您正苦于以下问题:Python Machine.get_state方法的具体用法?Python Machine.get_state怎么用?Python Machine.get_state使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在transitions.Machine的用法示例。


在下文中一共展示了Machine.get_state方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_state_callable_callbacks

# 需要导入模块: from transitions import Machine [as 别名]
# 或者: from transitions.Machine import get_state [as 别名]
    def test_state_callable_callbacks(self):

        class Model:

            def __init__(self):
                self.exit_A_called = False
                self.exit_B_called = False

            def on_enter_A(self, event):
                pass

            def on_enter_B(self, event):
                pass

        states = [State(name='A', on_enter='on_enter_A', on_exit='tests.test_core.on_exit_A'),
                  State(name='B', on_enter='on_enter_B', on_exit=on_exit_B),
                  State(name='C', on_enter='tests.test_core.AAAA')]

        model = Model()
        machine = Machine(model, states=states, send_event=True, initial='A')
        state_a = machine.get_state('A')
        state_b = machine.get_state('B')
        self.assertEqual(len(state_a.on_enter), 1)
        self.assertEqual(len(state_a.on_exit), 1)
        self.assertEqual(len(state_b.on_enter), 1)
        self.assertEqual(len(state_b.on_exit), 1)
        model.to_B()
        self.assertTrue(model.exit_A_called)
        model.to_A()
        self.assertTrue(model.exit_B_called)
        with self.assertRaises(AttributeError):
            model.to_C()
开发者ID:tyarkoni,项目名称:transitions,代码行数:34,代码来源:test_core.py

示例2: test_state_callbacks

# 需要导入模块: from transitions import Machine [as 别名]
# 或者: from transitions.Machine import get_state [as 别名]
    def test_state_callbacks(self):

        class Model:
            def on_enter_A(self):
                pass

            def on_exit_A(self):
                pass

            def on_enter_B(self):
                pass

            def on_exit_B(self):
                pass

        states = [State(name='A', on_enter='on_enter_A', on_exit='on_exit_A'),
                  State(name='B', on_enter='on_enter_B', on_exit='on_exit_B')]

        machine = Machine(Model(), states=states)
        state_a = machine.get_state('A')
        state_b = machine.get_state('B')
        self.assertEqual(len(state_a.on_enter), 1)
        self.assertEqual(len(state_a.on_exit), 1)
        self.assertEqual(len(state_b.on_enter), 1)
        self.assertEqual(len(state_b.on_exit), 1)
开发者ID:jaquinonesg,项目名称:SMA_exp,代码行数:27,代码来源:test_core.py

示例3: Matter

# 需要导入模块: from transitions import Machine [as 别名]
# 或者: from transitions.Machine import get_state [as 别名]
from transitions import Machine, State

class Matter(object):
    def say_hello(self): print("hello, new state!")
    def say_goodbye(self): print("goodbye, old state!")
    def on_enter_A(self): print("We've just entered state A!")
    def on_enter_B(self): print("We've just entered state B!")

lump = Matter()
transitions = [
    { 'trigger': 'passA', 'source': 'A', 'dest': 'B' },
    { 'trigger': 'passB', 'source': 'B', 'dest': 'C' },
    { 'trigger': 'passC', 'source': 'C', 'dest': 'A' }
]

machine = Machine(lump, states=['A', 'B', 'C'], transitions=transitions, initial='A')
print(machine.get_state(lump.state).name)

file = open("testfile.txt", "r")
for line in file:
    print(line.strip())
    eval(line.strip())
file.close()
开发者ID:jaquinonesg,项目名称:SMA_exp,代码行数:25,代码来源:callback_in_class.py


注:本文中的transitions.Machine.get_state方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。