Пример #1
0
        static void Main(string[] args)
        {
            PersistentList<int> pl = new PersistentList<int>(new List<int>(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }));
            Console.WriteLine("Añadiendo nodo con valor 22");
            Console.WriteLine("Ultimo Nodo: {0}", pl.LastNode);
            pl.Add(22);
            Console.WriteLine("Añadiendo nodo con valor 42");
            Console.WriteLine("Ultimo Nodo: {0}", pl.LastNode);
            pl.Add(42);
            Console.WriteLine("Añadiendo nodo con valor 62");
            Console.WriteLine("Ultimo Nodo: {0}", pl.LastNode);
            pl.Add(62);
            Console.WriteLine("Añadiendo nodo con valor 82");
            Console.WriteLine("Ultimo Nodo: {0}", pl.LastNode);
            pl.Add(82);

            Print(pl);
            Console.WriteLine("Last Node : {0}", pl.LastNode);

            Console.WriteLine(" ===================================================== ");

            Console.WriteLine("Deshaciendo ultima operacion ( eliminar nodo con valor 82 )");
            pl.Undo();
            Console.WriteLine("Ultimo Nodo: {0}", pl.LastNode);
            Console.WriteLine("Deshaciendo ultima operacion ( eliminar nodo con valor 62 )");
            pl.Undo();
            Console.WriteLine("Ultimo Nodo: {0}", pl.LastNode);

            Print(pl);
            Console.WriteLine("Last Node : {0}", pl.LastNode);
            Console.ReadLine();
        }
Пример #2
0
 public void TestList2()
 {
     var a = new PersistentList<string>();
     a.Add("one");
     a.Store();
     a.RemoveAt(0);
     a.Undo();
     Assert.True(a.Count == 1);
     Assert.True(a[0] == "one");
     a.Redo();
     Assert.True(a.Count == 0);
     a.Store();
     a.Add("one");
     a.Add("two");
     a.Undo();
     Assert.True(a.Count == 0);
     a.Redo();
     Assert.True(a.Count == 2);
     Assert.True(a[0] == "one");
     Assert.True(a[1] == "two");
 }
Пример #3
0
 public void TestList3()
 {
     var a = new Persistent<string>("one");
     var b = new Persistent<string>("two");
     var persistent = new PersistentList<Persistent<string>>();
     persistent.Add(a);
     persistent.Add(b);
     persistent.Store();
     a.Value = "1";
     b.Value = "2";
     persistent.Store();
     persistent[0] = b;
     persistent[1] = a;
     persistent.Store();
     persistent.Undo();
     Assert.True(persistent[0] == b);
     Assert.True(persistent[1] == a);
     persistent.Undo();
     Assert.True(persistent[0] == a);
     Assert.True(persistent[1] == b);
 }
Пример #4
0
 public void TestPersistentStructureList()
 {
     var a = new PersistentList<Persistent<string>>();
     a.Add(new Persistent<string>("one"));
     a.Store();
     a[0].Value = "two";
     a.Undo();
     Assert.True(a[0].Value == "one");
     a.Redo();
     Assert.True(a[0].Value == "two");
 }