示例#1
0
 public void RaiseIfIfReceivesTooManyArguments()
 {
     IfPrimitive ifprim = new IfPrimitive();
     ifprim.Apply(null, null, new object[] { false, 1, 2, 3 });
 }
示例#2
0
 public void RaiseIfIfReceivesNullAsArguments()
 {
     IfPrimitive ifprim = new IfPrimitive();
     ifprim.Apply(null, null, null);
 }
示例#3
0
        public void EvaluateToNullIfSimpleIfHasNoElse()
        {
            IfPrimitive ifprim = new IfPrimitive();

            object result = ifprim.Apply(new Machine(), null, new object[] { false, 1 });

            Assert.IsNull(result);
        }
示例#4
0
        public void EvaluateSimpleIfWithNotFalseAsCondition()
        {
            IfPrimitive ifprim = new IfPrimitive();

            object result = ifprim.Apply(new Machine(), null, new object[] { 2, 1 });

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(int));
            Assert.AreEqual(1, result);
        }
示例#5
0
        public void EvaluateSimpleIfWithFalseSymbol()
        {
            IfPrimitive ifprim = new IfPrimitive();
            Machine machine = new Machine();

            object result = ifprim.Apply(machine, machine.Environment, new object[] { Symbol.Create("false"), 1, 2 });

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(int));
            Assert.AreEqual(2, result);
        }
示例#6
0
        public void EvaluateSimpleIfWithElse()
        {
            IfPrimitive ifprim = new IfPrimitive();

            object result = ifprim.Apply(new Machine(), null, new object[] { false, 1, 2 });

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(int));
            Assert.AreEqual(2, result);
        }