public void LookupTest() { const string data = "How now, brown cow?"; var list = data.Split().Aggregate(SkewBinaryRandomAccessList <string> .Empty, (current, word) => SkewBinaryRandomAccessList <string> .Cons(word, current)); Assert.AreEqual("now,", SkewBinaryRandomAccessList <string> .Lookup(2, list)); }
public void RoseTest() { const string data = "What's in a name? That which we call a rose by any other name would smell as sweet."; var list = data.Split().Aggregate(SkewBinaryRandomAccessList <string> .Empty, (current, word) => SkewBinaryRandomAccessList <string> .Cons(word, current)); Assert.AreEqual("sweet.", SkewBinaryRandomAccessList <string> .Lookup(0, list)); Assert.AreEqual("What's", SkewBinaryRandomAccessList <string> .Lookup(17, list)); }
public void IsEmptyTest() { var list = SkewBinaryRandomAccessList <string> .Empty; Assert.IsTrue(SkewBinaryRandomAccessList <string> .IsEmpty(list)); list = SkewBinaryRandomAccessList <string> .Cons("A", list); Assert.IsFalse(SkewBinaryRandomAccessList <string> .IsEmpty(list)); }
public void HeadTest() { const string data = "How now, brown cow?"; var list = data.Split().Aggregate(SkewBinaryRandomAccessList <string> .Empty, (current, word) => SkewBinaryRandomAccessList <string> .Cons(word, current)); Assert.AreEqual("cow?", SkewBinaryRandomAccessList <string> .Head(list)); list = SkewBinaryRandomAccessList <string> .Update(0, "dog?", list); Assert.AreEqual("dog?", SkewBinaryRandomAccessList <string> .Head(list)); }
public void EmptyTailTest() { var list = SkewBinaryRandomAccessList <string> .Empty; AssertThrows <ArgumentNullException>(() => SkewBinaryRandomAccessList <string> .Tail(list)); }