public void TestGet() { ArrayRandomAccessSource s = new ArrayRandomAccessSource(data); try { for (int i = 0; i < data.Length; i++) { int ch = s.Get(i); Assert.IsFalse(ch == -1); Assert.AreEqual(data[i], (byte)ch, "Position " + i); } Assert.AreEqual(-1, s.Get(data.Length)); } finally { s.Close(); } }
virtual public void TestGet() { ArrayRandomAccessSource source1 = new ArrayRandomAccessSource(data); ArrayRandomAccessSource source2 = new ArrayRandomAccessSource(data); ArrayRandomAccessSource source3 = new ArrayRandomAccessSource(data); IRandomAccessSource[] inputs = { source1, source2, source3 }; GroupedRandomAccessSource grouped = new GroupedRandomAccessSource(inputs); Assert.AreEqual(source1.Length + source2.Length + source3.Length, grouped.Length); Assert.AreEqual(source1.Get(99), grouped.Get(99)); Assert.AreEqual(source2.Get(0), grouped.Get(100)); Assert.AreEqual(source2.Get(1), grouped.Get(101)); Assert.AreEqual(source1.Get(99), grouped.Get(99)); Assert.AreEqual(source3.Get(99), grouped.Get(299)); Assert.AreEqual(-1, grouped.Get(300)); }
public void TestGetArray() { byte[] chunk = new byte[257]; ArrayRandomAccessSource s = new ArrayRandomAccessSource(data); try { int pos = 0; int count = s.Get(pos, chunk, 0, chunk.Length); while (count != -1) { AssertArrayEqual(data, pos, chunk, 0, count); pos += count; count = s.Get(pos, chunk, 0, chunk.Length); } Assert.AreEqual(-1, s.Get(pos, chunk, 0, chunk.Length)); } finally { s.Close(); } }