public void TestConfigWithUnaryOperator() { OperatorStruct[] ops = new OperatorStruct[] { new OperatorStruct("-", 5, true, false, false, false) }; EquationConversion.ResetEquationConversion(); // unittest-equationconversionconfigunary Assert.AreEqual(true, EquationConversion.ConfigureParser(ops, Solver.GetValidTerminators())); }
public void TestConfigWithNoOperators() { OperatorStruct[] ops = new OperatorStruct[] { }; EquationConversion.ResetEquationConversion(); // unittest-equationconversionconfignoops Assert.AreEqual(false, EquationConversion.ConfigureParser(ops, Solver.GetValidTerminators())); }
public void TestOperatorConstructor() { // unittest-operatordatastructureconstructor OperatorStruct op = new OperatorStruct("+", 1, false, true, false, true); Assert.AreEqual("+", op.GetOperator()); Assert.AreEqual(1, op.GetPrecedence()); Assert.AreEqual(false, op.IsUnary()); Assert.AreEqual(true, op.IsBinary()); Assert.AreEqual(false, op.IsTernary()); Assert.AreEqual(true, op.IsLeftAssociative()); }
public void TestFailedConfig() { EquationConversion.ResetEquationConversion(); Consolidate.Initialize(); // unittest-consolidatenoops OperatorStruct[] ops = new OperatorStruct[] { }; int success = Consolidate.ConvertAndCheckInputs("x+y", "x,2,3\ny,4,5", ops, Solver.GetValidTerminators(), System.Environment.NewLine, ","); Assert.AreEqual(-1, success); // unittest-consolidatenorightterm string[][] terminators = new string[][] { new string[] { "(", "" } }; success = Consolidate.ConvertAndCheckInputs("x+y", "x,2,3\ny,4,5", Solver.GetValidOperators(), terminators, System.Environment.NewLine, ","); Assert.AreEqual(-1, success); // unittest-consolidatenoleftterm terminators = new string[][] { new string[] { "", ")" } }; success = Consolidate.ConvertAndCheckInputs("x+y", "x,2,3\ny,4,5", Solver.GetValidOperators(), terminators, System.Environment.NewLine, ","); Assert.AreEqual(-1, success); }
public void TestUnaryFunction() { OperatorStruct[] ops = new OperatorStruct[] { new OperatorStruct("-", 5, true, false, false, false) }; string varToken = EquationConversion.GetVariableToken(); EquationConversion.ResetEquationConversion(); EquationConversion.ConfigureParser(ops, Solver.GetValidTerminators()); if (EquationConversion.IsReady()) { string constToken = EquationConversion.GetConstToken(); // unittest-equationconversionparseunary EquationStruct unaryEq = EquationConversion.MakeEquationTree("-x"); EquationStruct targetStructure = new EquationStruct("-", "", new EquationStruct(varToken, "x", null, null), null); Assert.AreEqual(PrintEquation(targetStructure), PrintEquation(unaryEq)); //Assert.AreEqual(true, CheckVariableList(new string[] { "x" }, EquationConversion.GetVariableList())); } else { Assert.Fail("Equation Parser could not be initialized."); } }
public void TestNoOpType() { // unittest-operatordatastructurenotype OperatorStruct op = new OperatorStruct("+", 1, false, false, false, true); }
public void TestOpType3() { // unittest-operatordatastructureoverloadedtype3 OperatorStruct op = new OperatorStruct("+", 1, true, false, true, true); }
public void TestLowOpPrecedence() { // unittest-operatordatastructurelowprecedence OperatorStruct op = new OperatorStruct("+", 0, false, true, false, true); }
public void TestMissingOpSymbol() { // unittest-operatordatastructuremissingsym OperatorStruct op = new OperatorStruct("", 1, false, true, false, true); }