public void TestCaseEvaluationExceptions() { var @operator = new ArithmeticDivideOperator(TypeConverter); ExpectArgumentNullException("context", () => @operator.Evaluate(null, 1, 2)); ExpectArgumentNullException("context", () => @operator.EvaluateLhs(null, 1, out object dummy)); }
public void TestCaseConstruction3() { var @operator = new ArithmeticDivideOperator("operator", TypeConverter); Assert.AreEqual("operator", @operator.Symbol); Assert.AreEqual(3, @operator.Precedence); Assert.AreEqual(Associativity.LeftToRight, @operator.Associativity); }
public void TestCaseEvaluation() { var @operator = new ArithmeticDivideOperator(TypeConverter); AssertEvaluation <double>(@operator, long.MaxValue, long.MaxValue, 1); AssertEvaluation <double>(@operator, long.MaxValue, 1, long.MaxValue); AssertEvaluation <double>(@operator, 1, 2, 1.00 / 2.00); AssertEvaluation <double>(@operator, 5, -3, 5.00 / -3.00); AssertEvaluation <double>(@operator, 1, 0, double.PositiveInfinity); AssertEvaluation <double>(@operator, -1, 0, double.NegativeInfinity); AssertEvaluation <double>(@operator, 0, 0, double.NaN); }
public void TestCaseConstruction2() { var standard = new ArithmeticDivideOperator(TypeConverter); Assert.AreEqual("/", standard.Symbol); }