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!"
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!"
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)
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)
def cond_bind_attrib (attrib): return fun.if_else (match_flag (attrib), get_flag (attrib))