def weaveRuleCreator(): # Weaving Memoizing Aspect with XSLTElement xsltElements = [ XsltElement, TemplateElement, ApplyImportsElement, ApplyTemplatesElement, CallTemplateElement, ChooseElement, ForEachElement, IfElement, SortElement, OtherwiseElement, WhenElement, WithParamElement, AttributeElement, CommentElement, CopyElement, CopyOfElement, ElementElement, ProcessingInstructionElement, NumberElement, TextElement, ValueOfElement, ParamElement, VariableElement ] pcut = PointCut() for e in xsltElements: pcut.add_method(e, 'instantiate') weaver.weave_pointcut(pcut, RuleCreator)
def setUp(self): """Initalizes observer / observable objects""" self.obj = SillyClass() pcut = PointCut() pcut.add_method(self.obj, 'do_something') self.obs = MyObserver() weaver.weave_pointcut(pcut, ObserverAspect, [self.obs]) self.pcut = pcut
def test_unweave_pointcut(self): """tests unweave() for pointcuts""" pcut = PointCut() pcut.add_method(self.klass, 'foo') weaver.weave_pointcut(pcut, ContractAspect) self.assertEquals(len(weaver.get_aspects(self.klass, 'foo')), 1) weaver.unweave_pointcut(pcut, ContractAspect) self.assertEquals(weaver.get_aspect(ContractAspect), None)
def setUp(self): """Create a BaseJumper instance and weave ConfirmationAspect around jump() """ self.guy = BaseJumper() pcut = PointCut() pcut.add_method(self.guy, "jump") weaver.weave_pointcut(pcut, ConfirmationConcreteAspect) self.pcut = pcut
def test_unweave_pointcut(self): """tests unweave() for pointcuts""" pcut = PointCut() pcut.add_method(self.klass, 'foo') weaver.weave_pointcut(pcut, ContractAspect) self.assertEquals( len(weaver.get_aspects(self.klass, 'foo')), 1) weaver.unweave_pointcut(pcut, ContractAspect) self.assertEquals(weaver.get_aspect(ContractAspect), None)
def run(): """Observer example """ foreign = ForeignClass(10) obs = MyObserver() print "*"*30 print "Before weaving ObserverAspect, changes on foo won't be observerd" print "" print "Changing foo ..." foreign.set_value(11) print "Did the observer see anything ?" print "" print "Now : weave observer aspect, and re-change foo ..." pcut = PointCut() pcut.add_method(foreign, 'set_value') weaver.weave_pointcut(pcut, ObserverAspect, [obs]) foreign.set_value(12) print "Did the observer see anything ?" print "*"*30