示例#1
0
        public void Literal_()
        {
            // test implplicit overload
            Literal <int> literal = 10;

            Assert.AreEqual(10, literal.Value, "Int literal");
            Assert.AreEqual(true, literal.IsInteger, "Reports being an integer");

            ILiteral litI = literal;

            litI.Set(10.5);
            Assert.AreEqual(10, literal.Value, "Int literal converts doublt to int");

            litI = new Literal <double>();

            litI.Set(10.5);
            Assert.AreEqual(10.5, litI.Value, "Double literal returns double");
            Assert.AreEqual(false, litI.IsInteger, "Double doesn't report being an integer");

            Assert.AreEqual("10.5", litI.ToString(), "ToString works");
        }