Beispiel #1
0
 def testGivenExpressionWithTwoConstantsWhenSimplifyThenExpressionWithOneConstantWithCorrectValueIsObtained(
         self):
     constant1 = ConstantBuilder().build()
     expression = ExpressionBuilder().term(constant1).term(
         constant1).build()
     expression.simplify_constant()
     self.assertTrue(expression.get_value_constant(), 2 * constant1.value)
Beispiel #2
0
 def testGivenExpressionWithVariableWhenMultiplyBy0ThenExpressionWithConstant0IsObtained(
         self):
     variable = VariableBuilder().build()
     expression = ExpressionBuilder().term(variable).build()
     expression.multiply(0.0)
     self.assertEqual(expression.get_value_constant(), 0)
     self.assertEqual(expression.get_value_variable(variable.name), 0.0)
Beispiel #3
0
 def testGivenExpressionWithTwoVariablesWithSameNameWhenApplyAndSimplifyThenGetValueReturnsCorrectValue(
         self):
     expression = ExpressionBuilder().term(VariableBuilder().name('x').value(3.0).build()). \
         term(VariableBuilder().name('x').value(2.0).build()).build()
     expression.apply('x', 1.0)
     expression.simplify_constant()
     self.assertEqual(expression.get_value_constant(), 5.0)
Beispiel #4
0
 def testGivenExpressionWithTwoConstantsWithInverseValuesWhenSimplifyThenExpressionWithConstantWithValue0IsObtained(
         self):
     constant1 = ConstantBuilder().build()
     constant2 = constant1.clon()
     constant2.multiply(-1.0)
     expression = ExpressionBuilder().term(constant1).term(
         constant2).build()
     expression.simplify_constant()
     self.assertEqual(expression.get_value_constant(), 0.0)
Beispiel #5
0
 def testGivenExpressionWithTwoVariablesWithInverseValuesWhenSimplifyThenExpressionWithNoVariablesAndConstantWithValue0IsObtained(
         self):
     variable1 = VariableBuilder().build()
     variable2 = variable1.clon()
     variable2.multiply(-1.0)
     expression = ExpressionBuilder().term(variable1).term(
         variable2).build()
     expression.simplify_variable(variable1.name)
     self.assertEqual(expression.get_value_constant(), 0.0)
     self.assertEqual(expression.get_value_variable(variable1.name), 0.0)
Beispiel #6
0
 def testGivenExpressionWithConstantAndVariableWhenMultiplyThenGetValuesReturnsMultipliedTermsValues(
         self):
     constant = ConstantBuilder().build()
     variable = VariableBuilder().build()
     expression = ExpressionBuilder().term(constant).term(variable).build()
     multiply_value = 2.0
     expression.multiply(multiply_value)
     constant.multiply(multiply_value)
     variable.multiply(multiply_value)
     self.assertEqual(expression.get_value_constant(), constant.value)
     self.assertEqual(expression.get_value_variable(variable.name),
                      variable.value)
Beispiel #7
0
 def testGivenExpressionWithOneVariableWhenAddExpressionWithOtherVariableAndConstantThenExpressionContainsAllTerms(
         self):
     variable1 = VariableBuilder().name('x').build()
     variable2 = VariableBuilder().name('y').build()
     constant = ConstantBuilder().value(1.0).build()
     expression1 = ExpressionBuilder().term(variable1).build()
     expression2 = ExpressionBuilder().term(variable2).term(
         constant).build()
     expression1.add_expression(expression2)
     self.assertEqual(expression1.get_name_set(),
                      {variable1.name, variable2.name})
     self.assertEqual(expression1.get_value_constant(), constant.value)
Beispiel #8
0
 def testGivenExpressionWithConstantAndVariableWhenGetValueThenConstantValueIsReturned(
         self):
     constant = ConstantBuilder().build()
     expression = ExpressionBuilder().term(
         constant).default_variable().build()
     self.assertEqual(expression.get_value_constant(), constant.value)
Beispiel #9
0
 def testGivenEmptyExpressionWhenGetValueThen0IsReturned(self):
     expression = ExpressionBuilder().build()
     self.assertEqual(expression.get_value_constant(), 0)
Beispiel #10
0
 def testGivenExpressionWithOnlyAVariableAsTermWhenGetValueThen0IsReturned(
         self):
     expression = ExpressionBuilder().default_variable().build()
     self.assertEqual(expression.get_value_constant(), 0)
Beispiel #11
0
 def testGivenExpressionWithOnlyAConstantAsTermWhenGetValueThenConstantValueIsReturned(
         self):
     constant = ConstantBuilder().build()
     expression = ExpressionBuilder().build()
     expression.add_term(constant)
     self.assertEqual(expression.get_value_constant(), constant.value)
Beispiel #12
0
 def testGivenExpressionWithVariableWhenApplyThenGetValueReturnsCorrectValue(
         self):
     expression = ExpressionBuilder().term(
         VariableBuilder().name('x').value(3.0).build()).build()
     expression.apply('x', 1.0)
     self.assertEqual(expression.get_value_constant(), 3.0)