def test_register_simple_reaction(): @register_reaction_mechanism([vacuous], True) def reaction1(reactants, conditions): return 42 assert reaction_is_registered('reaction1', True) assert reaction_is_registered(reaction1, True)
def test_mechanism_not_modified_by_decorator(): def reaction4(*args): return 42 decorated = register_reaction_mechanism([vacuous], True)(reaction4) assert reaction4 is decorated assert reaction4() == decorated() assert reaction_is_registered('reaction4', True) assert reaction_is_registered(reaction4, True)
def test_register_simple_reaction_with_requirements(): def magic(reactants, conditions): return reactants and conditions @register_reaction_mechanism([magic], True) def reaction2(reactants, conditions): return 36 assert reaction_is_registered('reaction2', True) assert reaction_is_registered(reaction2, True)
def test_register_simple_reaction_with_invalid_requirements(): voodoo = 17 function = register_reaction_mechanism([voodoo], True) def reaction3(reactants, conditions): return 11 args = [reaction3] assert raises(InvalidReactionError, function, args) assert not reaction_is_registered('reaction3', True) assert not reaction_is_registered(reaction3, True)