예제 #1
0
        public void TestExecute()
        {
            var list = new List<int> ();
            Action<int> exeAction = list.Add;
            Action<int> undoAction = (v) => list.Remove(v);

            var command = new Command<int>(2,exeAction, undoAction);
            command.Execute ();
            Assert.AreEqual (list.Count,1);
            Assert.AreEqual (list [0], 2);

            command.Undo ();
            Assert.AreEqual (list.Count,0);
        }
예제 #2
0
        public void TestExecute()
        {
            var list = new List<int> ();
            Action<int,int> exeAction = (i, v) => list.Insert (i, v);
            Action<int,int> undoAction = (i, v) => list.RemoveAt (i);

            var command = new Command<int,int>(0,4,exeAction, undoAction);
            command.Execute ();
            Assert.AreEqual (1, list.Count);
            Assert.AreEqual (list[0],4);

            command.Undo ();
            Assert.AreEqual (0, list.Count);
        }
예제 #3
0
        public void TestExecute()
        {
            var map = new Dictionary<int,int> ();
            Action<Dictionary<int,int>,int,int> exeAction = (m,k,v) => m.Add(k,v);
            Action<Dictionary<int,int>,int,int> undoAction = (m,k,v) => m.Remove(k);

            int key = 3;
            int value = 4;

            var command = new Command<Dictionary<int,int>,int,int>(map,key,value,exeAction, undoAction);
            command.Execute ();
            Assert.AreEqual (map.Count,1);
            Assert.True(map.ContainsKey(key));
            Assert.AreEqual (map [key], value);

            command.Undo ();
            Assert.AreEqual (map.Count, 0);
        }
예제 #4
0
        public void TestExecute()
        {
            var dummy = new TestDummay4 ();
            Action<int,int,int,int> exeAction = dummy.Inc;
            Action<int,int,int,int> undoAction = dummy.Dec;

            int a = 1;
            int b = 2;
            int c = 3;
            int d = 4;

            var command = new Command<int,int,int,int>(a,b,c,d,exeAction, undoAction);
            command.Execute ();
            Assert.AreEqual (dummy.Number,10);

            command.Undo ();
            Assert.AreEqual (dummy.Number, 0);
        }