public void testArrayConstructor() { var u = new UnionInputStream( new MemoryStream(new byte[] { 1, 0, 2 }), new MemoryStream(new byte[] { 3 }), new MemoryStream(new byte[] { 4, 5 })); var r = new byte[5]; Assert.AreEqual(5, u.Read(r, 0, 5)); Assert.IsTrue(r.SequenceEqual(new byte[] { 1, 0, 2, 3, 4 })); Assert.AreEqual(1, u.Read(r, 0, 5)); Assert.AreEqual(5, r[0]); Assert.AreEqual(-1, u.Read(r, 0, 5)); }
public void testEmptyStream() { var u = new UnionInputStream(); Assert.IsTrue(u.isEmpty()); Assert.AreEqual(-1, u.read()); Assert.AreEqual(-1, u.Read(new byte[1], 0, 1)); Assert.AreEqual(0, u.available()); Assert.AreEqual(0, u.skip(1)); u.Close(); }
public void testReadByteBlocks() { var u = new UnionInputStream(); u.add(new MemoryStream(new byte[] { 1, 0, 2 })); u.add(new MemoryStream(new byte[] { 3 })); u.add(new MemoryStream(new byte[] { 4, 5 })); var r = new byte[5]; Assert.AreEqual(5, u.Read(r, 0, 5)); Assert.IsTrue(r.SequenceEqual(new byte[] { 1, 0, 2, 3, 4 })); Assert.AreEqual(1, u.Read(r, 0, 5)); Assert.AreEqual(5, r[0]); Assert.AreEqual(-1, u.Read(r, 0, 5)); }