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); }
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); }