public void TestVectorReverse(bool useArray) { IVectorFactory factory = useArray ? (IVectorFactory) new ArrayVectorFactory() : (IVectorFactory) new BNodeVectorFactory(); { var v = factory.Create("a", "b", "c", "d"); var r = factory.Reverse(v); Assert.AreEqual(4, r.Length); Assert.AreEqual("a", r[3]); Assert.AreEqual("b", r[2]); Assert.AreEqual("c", r[1]); Assert.AreEqual("d", r[0]); } { var v = factory.Create("a", "b", "c", "d", "e"); var r = factory.Reverse(v); Assert.AreEqual(5, r.Length); Assert.AreEqual("a", r[4]); Assert.AreEqual("b", r[3]); Assert.AreEqual("c", r[2]); Assert.AreEqual("d", r[1]); Assert.AreEqual("e", r[0]); } }