Exemplo n.º 1
0
        public void TestReadOnly()
        {
            TiffGray8[] buffer       = new TiffGray8[3 * 2];
            var         pixelBuffer1 = new TiffMemoryPixelBuffer <TiffGray8>(buffer, 3, 2);
            var         pixelBuffer2 = new TiffMemoryPixelBuffer <TiffGray8>(buffer, 3, 2, writable: false);

            Assert.Throws <InvalidOperationException>(() => pixelBuffer1.GetSpan());
            Assert.Throws <InvalidOperationException>(() => pixelBuffer2.GetSpan());

            Assert.Equal(buffer.Length, pixelBuffer1.GetReadOnlySpan().Length);
            Assert.Equal(buffer.Length, pixelBuffer2.GetReadOnlySpan().Length);
        }
Exemplo n.º 2
0
        public void TestEmptyPixelBuffer()
        {
            var structBuffer = default(TiffPixelBuffer <TiffGray8>);

            Assert.Equal(0, structBuffer.Width);
            Assert.Equal(0, structBuffer.Height);
            Assert.True(structBuffer.IsEmpty);

            var pixelBuffer = new TiffMemoryPixelBuffer <TiffGray8>(Array.Empty <TiffGray8>(), 0, 0, writable: true);

            Assert.Equal(0, pixelBuffer.Width);
            Assert.Equal(0, pixelBuffer.Height);
            Assert.True(pixelBuffer.GetSpan().IsEmpty);
            Assert.True(pixelBuffer.GetReadOnlySpan().IsEmpty);

            structBuffer = pixelBuffer.AsPixelBuffer();
            Assert.Equal(0, structBuffer.Width);
            Assert.Equal(0, structBuffer.Height);
            Assert.True(structBuffer.IsEmpty);
        }