Esempio n. 1
0
def test2 ():

    class C:
        def __init__ (self, name, value):
            self.name = name
            self.value = value

    test = fun.Function (object, name="test")

    @test.match (fun.bind (X = fun.if_else (fun.matchattr (name = "abc"),
                                            lambda arg: arg.value)))
    def do (arg):
        return "1:" + X

    @test.match (fun.bind (X = fun.if_else (fun.matchattr (name = "def"),
                                            lambda arg: arg.value)))
    def do (arg):
        return "2:" + X

    @test.match (fun.any)
    def do (arg):
        return "default"

    assert test (C ("test", "")) == "default"
    assert test (C ("abc", "yay!")) == "1:yay!"
    assert test (C ("def", "meh!")) == "2:meh!"
Esempio n. 2
0
def test2():
    class C:
        def __init__(self, name, value):
            self.name = name
            self.value = value

    test = fun.Function(object, name="test")

    @test.match(
        fun.bind(X=fun.if_else(fun.matchattr(
            name="abc"), lambda arg: arg.value)))
    def do(arg):
        return "1:" + X

    @test.match(
        fun.bind(X=fun.if_else(fun.matchattr(
            name="def"), lambda arg: arg.value)))
    def do(arg):
        return "2:" + X

    @test.match(fun.any)
    def do(arg):
        return "default"

    assert test(C("test", "")) == "default"
    assert test(C("abc", "yay!")) == "1:yay!"
    assert test(C("def", "meh!")) == "2:meh!"
Esempio n. 3
0
 def actions(cls, test):
     yield fun.matchclass(arkham.GameplayAction_Stay)
     yield fun.matchclass(arkham.GameplayAction_DealWithMonster)
     yield fun.matchclass(arkham.GameplayAction_Fight)
     trophies = len(test.inv.trophies())
     yield fun.if_else(action_bound_item_named(cls.item_name),
                       fun.matchclass(arkham.GameplayAction_Multiple))
     yield fun.matchclass(arkham.GameplayAction_IncurDamage)
     assert len(test.inv.trophies()) == trophies + 1
     raise tester.EndTest(True)
Esempio n. 4
0
 def actions (cls, test):
     yield fun.matchclass (arkham.GameplayAction_Stay)
     yield fun.matchclass (arkham.GameplayAction_DealWithMonster)
     yield fun.matchclass (arkham.GameplayAction_Fight)
     trophies = len (test.inv.trophies ())
     yield fun.if_else (action_bound_item_named (cls.item_name),
                        fun.matchclass (arkham.GameplayAction_Multiple))
     yield fun.matchclass (arkham.GameplayAction_IncurDamage)
     assert len (test.inv.trophies ()) == trophies + 1
     raise tester.EndTest (True)
Esempio n. 5
0
def cond_bind_attrib (attrib):
    return fun.if_else (match_flag (attrib), get_flag (attrib))