コード例 #1
0
        public void Read_ZeroLength_ReturnsEmptyArray()
        {
            var stream    = new MemoryStream(new byte[10]);
            var container = new StreamContainer(stream);

            CollectionAssert.AreEqual(container.Read(0, 0), new byte[0]);
        }
コード例 #2
0
        public void Read_WithBogusStream_ReturnsEmptyArray()
        {
            var stream    = new BogusStream();
            var container = new StreamContainer(stream);

            CollectionAssert.AreEqual(container.Read(0, 10), new byte[0]);
        }
コード例 #3
0
        public void Read_TooCloseToEnd_ReturnsTruncatedArray()
        {
            var stream    = new MemoryStream(new byte[10]);
            var container = new StreamContainer(stream);

            CollectionAssert.AreEqual(container.Read(5, 10), new byte[5]);
        }
コード例 #4
0
        public void Read_NegativeOffset_ThrowsArgumentOutOfRangeException()
        {
            var stream    = new MemoryStream();
            var container = new StreamContainer(stream);

            Assert.Throws <ArgumentOutOfRangeException>(() => container.Read(-1, 0));
        }
コード例 #5
0
        public void Read_BeyondEnd_ReturnsEmptyArray()
        {
            var stream    = new MemoryStream(new byte[10]);
            var container = new StreamContainer(stream);

            CollectionAssert.AreEqual(container.Read(20, 10), new byte[0]);
        }
コード例 #6
0
        public void Read_Contents_ReturnsCorrectContents()
        {
            var stream = new MemoryStream(
                new byte[]
            {
                1, 2, 3, 4, 5, 6, 7, 8, 9, 10
            });
            var container = new StreamContainer(stream);

            CollectionAssert.AreEqual(
                container.Read(5, 10), new byte[]
            {
                6, 7, 8, 9, 10
            });
        }