예제 #1
0
        public void ExecuteSetIndexCommandOnDictionary()
        {
            var         dictionary       = new Hashtable();
            IExpression targetExpression = new ConstantExpression(dictionary);
            IExpression indexExpression  = new ConstantExpression("foo");
            IExpression valueExpression  = new ConstantExpression("bar");

            var command = new SetIndexCommand(targetExpression, indexExpression, valueExpression);

            command.Execute(null);

            Assert.AreEqual("bar", dictionary["foo"]);
        }
예제 #2
0
        public void ExecuteSetIndexCommandOnArray()
        {
            var         array            = new object[] { 1, 2, 2 };
            IExpression targetExpression = new ConstantExpression(array);
            IExpression indexExpression  = new ConstantExpression(2);
            IExpression valueExpression  = new ConstantExpression(3);

            var command = new SetIndexCommand(targetExpression, indexExpression, valueExpression);

            command.Execute(null);

            Assert.AreEqual(3, array[2]);
        }
예제 #3
0
        public void ExecuteSetIndexCommandOnList()
        {
            var list = new List <object>()
            {
                1, 2, 2
            };
            IExpression targetExpression = new ConstantExpression(list);
            IExpression indexExpression  = new ConstantExpression(2);
            IExpression valueExpression  = new ConstantExpression(3);

            var command = new SetIndexCommand(targetExpression, indexExpression, valueExpression);

            command.Execute(null);

            Assert.AreEqual(3, list[2]);
        }