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