def test_get_1(self):
     la = Calculator()
     config = {
         'parent':
         self.get_fake_ion(),
         'name':
         'linear_adjustor',
         'statement':
         '(x+y)/z',
         'variables': [{
             'vn': 'x',
             'node_reference': '1.0'
         }, {
             'vn': 'y',
             'node_reference': '2'
         }, {
             'vn': 'z',
             'node_reference': '3'
         }]
     }
     la.configure(config)
     la.start()
     value = la.get()
     if value != 1.0:
         self.fail(
             'wrong value returned from simple get. Value returned: ' +
             str(value))
     return
示例#2
0
 def configure(self, config):
     set_attribute(self, 'node', REQUIRED, config)
     config['function'] = 'mpx.lib.node.as_node("%s").get' % self.node
     PeriodicColumn.configure(self, config)
     set_attribute(self, 'delta', 0, config, as_boolean)
     if self.delta:
         c = Calculator()
         c.configure({
             'name':
             'delta',
             'parent':
             self,
             'statement':
             'value-last_value',
             'variables': [{
                 'vn': 'value',
                 'node_reference': '$value'
             }, {
                 'vn': 'last_value',
                 'node_reference': '$last_value'
             }]
         })
     set_attribute(self, 'meter_description', self.name, config)
     set_attribute(self, 'account', REQUIRED, config)
     set_attribute(self, 'meter_number', REQUIRED, config)
     set_attribute(self, 'units', '', config)
 def _create_calculator(self, statement, variables, start=1):
     config = {
         'name': 'test',
         'parent': self.get_fake_ion(start),
         'statement': statement,
         'variables': []
     }
     for name in variables.keys():
         variable = {'vn': name, 'node_reference': variables[name]}
         config['variables'].append(variable)
     calc = Calculator()
     calc.configure(config)
     return calc
示例#4
0
 def configure(self,config):
     PeriodicColumn.configure(self, config)
     if not self.has_child('average'):
         c = Calculator()
         c.configure({'name':'average',
                      'parent':self,
                      'statement':'(value + last_value)/2.0',
                      'variables':[{'vn':'value',
                                    'node_reference':'$value'}, 
                                   {'vn':'last_value',
                                    'node_reference':'$last_value'}, 
                                   {'vn':'last_time',
                                    'node_reference':'$last_time'}, 
                                   {'vn':'now','node_reference':'$now'},
                                   {'vn':'period',
                                    'node_reference':'$period'}]})
     return
示例#5
0
 def configure(self, config):
     PeriodicColumn.configure(self, config)
     if not self.has_child('delta'):
         c = Calculator()
         c.configure({
             'name':
             'delta',
             'parent':
             self,
             'statement':
             'value - last_value',
             'variables': [{
                 'vn': 'value',
                 'node_reference': '$value'
             }, {
                 'vn': 'last_value',
                 'node_reference': '$last_value'
             }]
         })
     return