public void TestVirtualListSimple5() { var v = new VirtualList<int>(false); v.Insert(0, 1); v.Check(); Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 1 })); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 1 })); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0 })); v.Insert(1, 2); v.Check(); v.RemoveAt(0); v.Check(); Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 2 })); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 2 })); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0 })); v[0] = 3; v.Check(); Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 3 })); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 3 })); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0 })); }
public void TestVirtualListSimple4() { var v = new VirtualList<int>(false); v.Add(0); v.Check(); Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 0 })); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 0 })); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0 })); v.RemoveAt(0); v.Check(); Assert.IsTrue(v.ToArray().SequenceEqual(new int[0])); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new int[0])); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new int[0])); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new int[0])); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new int[0])); }
public void TestVirtualListSimple2() { var v = new VirtualList<int>(false); v.Insert(2, 100); v.Check(); Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 0, 0, 100 })); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 100 })); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 2 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0 })); v.Insert(2, 200); v.Check(); Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 0, 0, 200, 100 })); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 200, 100 })); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2, 3 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 2, 3 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0, 1 })); v.RemoveAt(2); v.Check(); Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 0, 0, 100 })); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 100 })); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 2 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0 })); v.RemoveAt(0); v.Check(); Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 0, 100 })); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 100 })); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 1 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0 })); }
public void TestVirtualListSimple3() { var v = new VirtualList<int>(false, new[] { 1, 2, 3 }); v.Add(0); Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 1, 2, 3, 0 })); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 1, 2, 3, 0 })); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2, 3 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2, 3 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0, 1, 2, 3 })); v.Remove(2); v.Check(); Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 1, 3, 0 })); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 1, 3, 0 })); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0, 1, 2 })); }
public void TestVirtualListSimple1() { var v = new VirtualList<int>(false); v.Insert(0, 0); v.Check(); v.Insert(5, 1); v.Check(); v.Insert(10, 2); v.Check(); Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2 })); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 0, 1, 2 })); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 5, 10 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0, 1, 2 })); v.Insert(2, 3); v.Check(); Assert.IsTrue(v.ToArray().SequenceEqual(new[] { 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 2 })); Assert.IsTrue(v.Dense.ToArray().SequenceEqual(new[] { 0, 3, 1, 2 })); Assert.IsTrue(v.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.Index).SequenceEqual(new[] { 0, 2, 6, 11 })); Assert.IsTrue(v.Dense.Nodes.Select(n => n.DenseIndex).SequenceEqual(new[] { 0, 1, 2, 3 })); }