def testPythonAndTalesContext(self): # Evaluation (use context in python and TALES) evaluationWithContextUsedTwice = EVAL_KEY + \ '"100,*,${here/rackSlot},/," + str(here.rackSlot) + ",*"' alias = RRDDataPointAlias('alias8') alias.formula = evaluationWithContextUsedTwice self.assert_(alias.evaluate(self.device) == '100,*,5,/,5,*')
def testMultipleSubstitution(self): # Multiple substitution multiSubstitution = \ '100,*,3,${here/rackSlot},LT,10,20,IF,${here/rackSlot},*' alias = RRDDataPointAlias('alias5') alias.formula = multiSubstitution self.assert_(alias.evaluate(self.device) == '100,*,3,5,LT,10,20,IF,5,*')
def testWithContext(self): # Evaluation (use context) evaluationWithContext = EVAL_KEY + \ '"100,*," + str(len("12345") * here.rackSlot) + ",/"' alias = RRDDataPointAlias('alias7') alias.formula = evaluationWithContext self.assert_(alias.evaluate(self.device) == '100,*,25,/')
def testMultipleSubstitution(self): # Multiple substitution multiSubstitution = \ '100,*,3,${here/rackSlot},LT,10,20,IF,${here/rackSlot},*' alias = RRDDataPointAlias('alias5') alias.formula = multiSubstitution self.assert_( alias.evaluate(self.device) == '100,*,3,5,LT,10,20,IF,5,*')
def testEvaluate(self): device = createDevice(self.dmd, 'testdevice') device.rackSlot = 5 # No formula alias = RRDDataPointAlias('alias1') self.assert_(alias.evaluate(device) is None) # Empty formula alias = RRDDataPointAlias('alias2') alias.formula = '' self.assert_(alias.evaluate(device) is None) # Simple RPN formula simpleRpn = '100,/' alias = RRDDataPointAlias('alias3') alias.formula = simpleRpn self.assert_(alias.evaluate(device) == simpleRpn) # Single substitution singleSubstitution = '100,*,${here/rackSlot},/' alias = RRDDataPointAlias('alias4') alias.formula = singleSubstitution self.assert_(alias.evaluate(device) == '100,*,5,/') # Multiple substitution multiSubstitution = '100,*,3,${here/rackSlot},LT,10,20,IF,${here/rackSlot},*' alias = RRDDataPointAlias('alias5') alias.formula = multiSubstitution self.assert_(alias.evaluate(device) == '100,*,3,5,LT,10,20,IF,5,*') # Evaluation (no context) evaluationNoContext = EVAL_KEY + '"100,*," + str( len("12345") ) + ",/"' alias = RRDDataPointAlias('alias6') alias.formula = evaluationNoContext self.assert_(alias.evaluate(device) == '100,*,5,/') # Evaluation (use context) evaluationWithContext = EVAL_KEY + \ '"100,*," + str( len("12345") * here.rackSlot ) + ",/"' alias = RRDDataPointAlias('alias7') alias.formula = evaluationWithContext self.assert_(alias.evaluate(device) == '100,*,25,/') # Evaluation (use context in python and TALES) evaluationWithContextUsedTwice = EVAL_KEY + \ '"100,*,${here/rackSlot},/," + str( here.rackSlot ) + ",*"' alias = RRDDataPointAlias('alias8') alias.formula = evaluationWithContextUsedTwice self.assert_(alias.evaluate(device) == '100,*,5,/,5,*')
def testEvaluate(self): device = createDevice( self.dmd, 'testdevice') device.rackSlot = 5 # No formula alias = RRDDataPointAlias( 'alias1' ) self.assert_( alias.evaluate( device ) is None ) # Empty formula alias = RRDDataPointAlias( 'alias2' ) alias.formula = '' self.assert_( alias.evaluate( device ) is None ) # Simple RPN formula simpleRpn = '100,/' alias = RRDDataPointAlias( 'alias3' ) alias.formula = simpleRpn self.assert_( alias.evaluate( device ) == simpleRpn ) # Single substitution singleSubstitution = '100,*,${here/rackSlot},/' alias = RRDDataPointAlias( 'alias4' ) alias.formula = singleSubstitution self.assert_( alias.evaluate( device ) == '100,*,5,/' ) # Multiple substitution multiSubstitution = '100,*,3,${here/rackSlot},LT,10,20,IF,${here/rackSlot},*' alias = RRDDataPointAlias( 'alias5' ) alias.formula = multiSubstitution self.assert_( alias.evaluate( device ) == '100,*,3,5,LT,10,20,IF,5,*' ) # Evaluation (no context) evaluationNoContext = EVAL_KEY + '"100,*," + str( len("12345") ) + ",/"' alias = RRDDataPointAlias( 'alias6' ) alias.formula = evaluationNoContext self.assert_( alias.evaluate( device ) == '100,*,5,/' ) # Evaluation (use context) evaluationWithContext = EVAL_KEY + \ '"100,*," + str( len("12345") * here.rackSlot ) + ",/"' alias = RRDDataPointAlias( 'alias7' ) alias.formula = evaluationWithContext self.assert_( alias.evaluate( device ) == '100,*,25,/' ) # Evaluation (use context in python and TALES) evaluationWithContextUsedTwice = EVAL_KEY + \ '"100,*,${here/rackSlot},/," + str( here.rackSlot ) + ",*"' alias = RRDDataPointAlias( 'alias8' ) alias.formula = evaluationWithContextUsedTwice self.assert_( alias.evaluate( device ) == '100,*,5,/,5,*' )
def testNoContext(self): # Evaluation (no context) evaluationNoContext = EVAL_KEY + '"100,*," + str(len("12345")) + ",/"' alias = RRDDataPointAlias('alias6') alias.formula = evaluationNoContext self.assert_(alias.evaluate(self.device) == '100,*,5,/')
def testSingleSubstitution(self): # Single substitution singleSubstitution = '100,*,${here/rackSlot},/' alias = RRDDataPointAlias('alias4') alias.formula = singleSubstitution self.assert_(alias.evaluate(self.device) == '100,*,5,/')
def testSimpleRPNFormula(self): # Simple RPN formula simpleRpn = '100,/' alias = RRDDataPointAlias('alias3') alias.formula = simpleRpn self.assert_(alias.evaluate(self.device) == simpleRpn)
def testEmptyFormula(self): # Empty formula alias = RRDDataPointAlias('alias2') alias.formula = '' self.assert_(alias.evaluate(self.device) is None)
def testNoFormula(self): alias = RRDDataPointAlias('alias1') self.assert_(alias.evaluate(self.device) is None)