public void It_should_be_able_to_read_all_bytes() { using (var stream = new StreamingAssetsStream(RyujuEngineIOText)) { var buffer = new byte[stream.Length]; Assert.That(stream.Read(buffer, 0, buffer.Length), Is.EqualTo(stream.Length), "It must be able to read all bytes."); Assert.That(buffer, Is.EqualTo(RyujuEngineIOTextContent), "It must be able to read valid content."); } }
public void It_should_be_able_to_read_no_bytes_from_tail() { using (var stream = new StreamingAssetsStream(RyujuEngineIOText)) { var buffer = new byte[42]; int count = 0; stream.Seek(0, SeekOrigin.End); Assert.That(() => count = stream.Read(buffer, 0, buffer.Length), Throws.Nothing, "It must be able to read no bytes from tail."); Assert.That(count, Is.EqualTo(0), "It must be able to return zero even if read from tail."); } }
public void It_should_be_able_to_read_chunk_bytes(int chunkSize) { using (var stream = new StreamingAssetsStream(RyujuEngineIOText)) { var length = (int)stream.Length; var buffer = new byte[length]; int restCount = length; for (; restCount >= chunkSize; restCount -= chunkSize) { var readCount = stream.Read(buffer, length - restCount, chunkSize); Assert.That(readCount, Is.EqualTo(chunkSize), "It must be read chunk bytes."); } if (restCount > 0) { var readCount = stream.Read(buffer, length - restCount, restCount); Assert.That(readCount, Is.EqualTo(restCount), "It must be read rest bytes."); } Assert.That(buffer, Is.EqualTo(RyujuEngineIOTextContent), "It must be able to read valid content."); } }
public void It_should_be_able_to_read_bytes_even_if_specify_large_size(int additionalCount) { using (var stream = new StreamingAssetsStream(RyujuEngineIOText)) { var length = (int)stream.Length; var buffer = new byte[length + additionalCount]; var readCount = stream.Read(buffer, 0, length + additionalCount); Assert.That(readCount, Is.EqualTo(length), "It must be able to read only existing bytes."); Assert.That( new List <byte>(buffer).GetRange(0, length), Is.EqualTo(RyujuEngineIOTextContent), "It must be able to read valid content." ); } }