AcoustID.Tests.Chromaprint.CombinedBufferTest.TestRead C# (CSharp) Method

TestRead() private method

private TestRead ( ) : void
return void
        public void TestRead()
        {
            short[] buffer1 = { 1, 2, 3, 4, 5 };
            short[] buffer2 = { 6, 7, 8 };
            short[] tmp = new short[10];

            CombinedBuffer buffer = new CombinedBuffer(buffer1, 5, buffer2, 3);

            for (int i = 0; i < 10; i++)
            {
                Assert.AreEqual(0, tmp[i]);
            }

            // Read from first part
            int size = buffer.Read(tmp, 0, 4);
            Assert.AreEqual(0, buffer.Offset);
            Assert.AreEqual(4, size);

            for (int i = 0; i < size; i++)
            {
                Assert.AreEqual(1 + i, tmp[i]);
            }

            // Read from both parts
            size = buffer.Read(tmp, 3, 4);
            Assert.AreEqual(0, buffer.Offset);
            Assert.AreEqual(4, size);

            for (int i = 0; i < size; i++)
            {
                Assert.AreEqual(4 + i, tmp[i]);
            }

            // Read at split point
            size = buffer.Read(tmp, 5, 4);
            Assert.AreEqual(0, buffer.Offset);
            Assert.AreEqual(3, size);

            for (int i = 0; i < size; i++)
            {
                Assert.AreEqual(6 + i, tmp[i]);
            }

            // Read from last parts
            size = buffer.Read(tmp, 6, 4);
            Assert.AreEqual(0, buffer.Offset);
            Assert.AreEqual(2, size);

            for (int i = 0; i < size; i++)
            {
                Assert.AreEqual(7 + i, tmp[i]);
            }
        }