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);
        }