示例#1
0
        public void TestEvalOperationEvaluationContextFails()
        {
            OperationEvaluationContext ctx = CreateContext();

            ValueEval[] args = new ValueEval[] { ErrorEval.VALUE_INVALID };
            ValueEval result = new Dec2Bin().Evaluate(args, ctx);

            Assert.AreEqual(typeof(ErrorEval), result.GetType());
            Assert.AreEqual(ErrorEval.VALUE_INVALID, result);
        }
示例#2
0
        public void TestEvalOperationEvaluationContext()
        {
            OperationEvaluationContext ctx = CreateContext();

            ValueEval[] args = new ValueEval[] { ctx.GetRefEval(0, 0) };
            ValueEval result = new Dec2Bin().Evaluate(args, ctx);

            Assert.AreEqual(typeof(StringEval), result.GetType());
            Assert.AreEqual("1101", ((StringEval)result).StringValue);
        }
示例#3
0
        public void TestWithEmptyPlaces()
        {
            OperationEvaluationContext ctx = CreateContext();

            ValueEval[] args = new ValueEval[] { ctx.GetRefEval(0, 0), ctx.GetRefEval(1, 0) };
            ValueEval result = new Dec2Bin().Evaluate(args, -1, -1);

            Assert.AreEqual(typeof(ErrorEval), result.GetType());
            Assert.AreEqual(ErrorEval.VALUE_INVALID, result);
        }
示例#4
0
        public void TestWithZeroPlaces()
        {
            OperationEvaluationContext ctx = CreateContext();

            ValueEval[] args = new ValueEval[] { ctx.GetRefEval(0, 0), new NumberEval(0.0) };
            ValueEval result = new Dec2Bin().Evaluate(args, -1, -1);

            Assert.AreEqual(typeof(ErrorEval), result.GetType());
            Assert.AreEqual(ErrorEval.NUM_ERROR, result);
        }
示例#5
0
        public void TestWithErrorPlaces()
        {
            OperationEvaluationContext ctx = CreateContext();

            ValueEval[] args = new ValueEval[] { ctx.GetRefEval(0, 0), ErrorEval.NULL_INTERSECTION };
            ValueEval result = new Dec2Bin().Evaluate(args, -1, -1);

            Assert.AreEqual(typeof(ErrorEval), result.GetType());
            Assert.AreEqual(ErrorEval.NULL_INTERSECTION, result);
        }
示例#6
0
        public void TestWithPlaces()
        {
            OperationEvaluationContext ctx = CreateContext();

            ValueEval[] args = new ValueEval[] { ctx.GetRefEval(0, 0), ctx.GetRefEval(0, 1) };
            ValueEval result = new Dec2Bin().Evaluate(args, ctx);

            Assert.AreEqual(typeof(StringEval), result.GetType(), "Had: " + result.ToString());
            // TODO: documentation and behavior do not match here!
            Assert.AreEqual("1101", ((StringEval)result).StringValue);
        }