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(); }
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"); }
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); }
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"); }