コード例 #1
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)
コード例 #2
0
 def testGivenExpressionWithTwoVariablesSameNameWhenSimplifyThenExpressionWithOneVariableWithCorrectValueIsObtained(
         self):
     variable1 = VariableBuilder().name('x').build()
     expression = ExpressionBuilder().term(variable1).term(variable1).term(
         VariableBuilder().name('y').build()).default_constant().build()
     expression.simplify_variable(variable1.name)
     self.assertTrue(expression.get_value_variable(variable1.name),
                     2 * variable1.value)
コード例 #3
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)
コード例 #4
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)
コード例 #5
0
 def testGivenExpressionWithVariablesWithSpecificNamesWhenGetValueNameWithOtherVariableNameThen0IsReturned(
         self):
     expression = ExpressionBuilder().term(
         VariableBuilder().name('y').build()).term(VariableBuilder().name(
             'z').build()).default_constant().build()
     self.assertEqual(expression.get_value_variable('x'), 0)
コード例 #6
0
 def testGivenExpressionTwoWithVariablesWithDifferentNamesWhenGetValueNameThenCorrectVariableValueIsReturned(
         self):
     variable = VariableBuilder().name('x').build()
     expression = ExpressionBuilder().term(
         VariableBuilder().name('y').build()).term(variable).build()
     self.assertEqual(expression.get_value_variable('x'), variable.value)
コード例 #7
0
 def testGivenExpressionWithVariableAndConstantWhenGetValueNameThenVariableValueIsReturned(
         self):
     variable = VariableBuilder().name('x').build()
     expression = ExpressionBuilder().default_constant().term(
         variable).build()
     self.assertEqual(expression.get_value_variable('x'), variable.value)