def set_goal_function(self, function): """sets goal function If function is not correctly set it returns false, if it is correctly set itt returns true """ try: function = function.lower() # convert input to lower case expression = self.__parser.parse( function) # try to parse expression validator = ExpressionValidator( expression, self.__variables) # get expression validator expression, validates, validation_error = validator.validate( ) # expression validation if not validates: self.console_logger.log("function is not validating", LoggerLevel.ERROR) self.console_logger.log(validation_error, LoggerLevel.ERROR) print validation_error raise Exception() self.__expression = expression self.__fetch_function_name() # fetch simple name from function self.console_logger.log( "function: " + self.get_expression().toString(), LoggerLevel.ADDITIONAL) self.__correctly_parsed = True return True except Exception: self.__correctly_parsed = False return False
def testExpressionValidation(self): for (gf, answers) in zip(self.goal_functions, self.answers): expr, validates, val_error = ExpressionValidator( gf.expression).validate() self.assertEqual(answers[0], expr.toString()) self.assertEqual(answers[1], gf.get_function_name()) self.assertTrue(validates)
def set_goal_function(self, function): """sets goal function If function is not correctly set it returns false, if it is correctly set itt returns true """ try: function = function.lower() # convert input to lower case expression = self.__parser.parse(function) # try to parse expression validator = ExpressionValidator(expression, self.__variables) # get expression validator expression, validates, validation_error = validator.validate() # expression validation if not validates: self.console_logger.log("function is not validating", LoggerLevel.ERROR) self.console_logger.log(validation_error, LoggerLevel.ERROR) print validation_error raise Exception() self.__expression = expression self.__fetch_function_name() # fetch simple name from function self.console_logger.log("function: " + self.get_expression().toString(), LoggerLevel.ADDITIONAL) self.__correctly_parsed = True return True except Exception: self.__correctly_parsed = False return False
def testExpressionValidation(self): for (gf, answers) in zip(self.goal_functions, self.answers): expr, validates, val_error = ExpressionValidator(gf.expression).validate() self.assertEqual(answers[0], expr.toString()) self.assertEqual(answers[1], gf.get_function_name()) self.assertTrue(validates)
def testExpressionFailure(self): for gf in self.goal_err_functions: expr, validates, val_error = ExpressionValidator( gf.__expression).validate() self.assertFalse(validates)