def _base(self, code, value, inputs, **mapping):

        e = Expression.from_string(code)

        self.assertEqual(set(inputs), set(e.inputs))
        self.assertEqual(set([]), set(e.outputs))
        self.assertEqual(value, e.evaluate(dict(mapping)))
 def _filter_changed ( self, filter ):
     """ Handles the 'filter' expression being changed.
     """
     self._block  = ExpressionBlock.from_string( filter )
     self._inputs = dict.fromkeys( self._block.inputs )
     self.updated = True
     self._name_updated()
예제 #3
0
    def _base(self, code, value, inputs, **mapping):

        e = Expression.from_string(code)

        self.assertEqual(set(inputs), set(e.inputs))
        self.assertEqual(set([]), set(e.outputs))
        self.assertEqual(value, e.evaluate(dict(mapping)))
예제 #4
0
 def _evaluate_changed(self, evaluate):
     """ Handles the 'evaluate' trait being changed.
     """
     self._block = ExpressionBlock.from_string(evaluate)
     self._inputs = dict.fromkeys(self._block.inputs)
     self._data = None
     if self.context is not None:
         self.context.post_context_modified(
             ContextModified(modified=[self.name]))
예제 #5
0
 def _evaluate_changed ( self, evaluate ):
     """ Handles the 'evaluate' trait being changed.
     """
     self._block  = ExpressionBlock.from_string( evaluate )
     self._inputs = dict.fromkeys( self._block.inputs )
     self._data   = None
     if self.context is not None:
         self.context.post_context_modified(
             ContextModified( modified = [ self.name ] )
         )