Example #1
0
        public void GetSubfileType_ReturnsValue(ByteOrder byteOrder, TiffType type, int?data, TiffSubfileType?expectedResult)
        {
            var ifd = TiffIfdBuilder.GenerateIfd(TiffTags.SubfileType, type, data, byteOrder).Ifd;

            var result = ifd.GetSubfileType(byteOrder);

            Assert.Equal(expectedResult, result);
        }
Example #2
0
        public void GetThreshholding_ReturnsValue(ByteOrder byteOrder, TiffType type, int?data, TiffThreshholding expectedResult)
        {
            var ifd = TiffIfdBuilder.GenerateIfd(TiffTags.Threshholding, type, data, byteOrder).Ifd;

            var result = ifd.GetThreshholding(byteOrder);

            Assert.Equal(expectedResult, result);
        }
Example #3
0
        public void GetResolutionUnit_ReturnsValue(ByteOrder byteOrder, TiffType type, int?data, TiffResolutionUnit expectedResult)
        {
            var ifd = TiffIfdBuilder.GenerateIfd(TiffTags.ResolutionUnit, type, data, byteOrder).Ifd;

            var result = ifd.GetResolutionUnit(byteOrder);

            Assert.Equal(expectedResult, result);
        }
Example #4
0
        public void GetPhotometricInterpretation_ReturnsValue(ByteOrder byteOrder, TiffType type, int?data, TiffPhotometricInterpretation?expectedResult)
        {
            var ifd = TiffIfdBuilder.GenerateIfd(TiffTags.PhotometricInterpretation, type, data, byteOrder).Ifd;

            var result = ifd.GetPhotometricInterpretation(byteOrder);

            Assert.Equal(expectedResult, result);
        }
Example #5
0
        public void GetPlanarConfiguraion_ReturnsValue(ByteOrder byteOrder, TiffType type, int?data, TiffPlanarConfiguration expectedResult)
        {
            var ifd = TiffIfdBuilder.GenerateIfd(TiffTags.PlanarConfiguration, type, data, byteOrder).Ifd;

            var result = ifd.GetPlanarConfiguration(byteOrder);

            Assert.Equal(expectedResult, result);
        }
Example #6
0
        public void GetGrayResponseUnit_ReturnsValue(ByteOrder byteOrder, TiffType type, int?data, double expectedResult)
        {
            var ifd = TiffIfdBuilder.GenerateIfd(TiffTags.GrayResponseUnit, type, data, byteOrder).Ifd;

            var result = ifd.GetGrayResponseUnit(byteOrder);

            Assert.Equal(expectedResult, result);
        }
Example #7
0
        public void GetFillOrder_ReturnsValue(ByteOrder byteOrder, TiffType type, int?data, TiffFillOrder expectedResult)
        {
            var ifd = TiffIfdBuilder.GenerateIfd(TiffTags.FillOrder, type, data, byteOrder).Ifd;

            var result = ifd.GetFillOrder(byteOrder);

            Assert.Equal(expectedResult, result);
        }
Example #8
0
        public void GetCellLength_ReturnsValue(ByteOrder byteOrder, TiffType type, uint?value)
        {
            var ifd = TiffIfdBuilder.GenerateIfd(TiffTags.CellLength, type, value, byteOrder).Ifd;

            var result = ifd.GetCellLength(byteOrder);

            Assert.Equal(value, result);
        }
Example #9
0
        public async Task ReadArtistAsync_ReturnsValue(ByteOrder byteOrder, TiffType type, string data, string expectedResult)
        {
            var ifdStreamTuple = TiffIfdBuilder.GenerateIfd(TiffTags.Artist, type, data, byteOrder);
            var ifd            = ifdStreamTuple.Ifd;
            var stream         = ifdStreamTuple.Stream;

            var result = await ifd.ReadArtistAsync(stream, byteOrder);

            Assert.Equal(expectedResult, result);
        }
Example #10
0
        public async Task ReadExtraSamplesAsync_ReturnsValue(ByteOrder byteOrder, TiffType type, uint[] data, TiffExtraSamples[] expectedResult)
        {
            var ifdStreamTuple = TiffIfdBuilder.GenerateIfd(TiffTags.ExtraSamples, type, data, byteOrder);
            var ifd            = ifdStreamTuple.Ifd;
            var stream         = ifdStreamTuple.Stream;

            var result = await ifd.ReadExtraSamplesAsync(stream, byteOrder);

            Assert.Equal(expectedResult, result);
        }
Example #11
0
        public async Task ReadStripOffsetsAsync_ReturnsValue(ByteOrder byteOrder, TiffType type, uint[] value)
        {
            var ifdStreamTuple = TiffIfdBuilder.GenerateIfd(TiffTags.StripOffsets, type, value, byteOrder);

            var ifd    = ifdStreamTuple.Ifd;
            var stream = ifdStreamTuple.Stream;

            var result = await ifd.ReadStripOffsetsAsync(stream, byteOrder);

            Assert.Equal(value, result);
        }
Example #12
0
        public async Task ReadYResolutionAsync_ReturnsValue(ByteOrder byteOrder, TiffType type, Rational?value)
        {
            var ifdStreamTuple = TiffIfdBuilder.GenerateIfd(TiffTags.YResolution, type, value, byteOrder);

            var ifd    = ifdStreamTuple.Ifd;
            var stream = ifdStreamTuple.Stream;

            var result = await ifd.ReadYResolutionAsync(stream, byteOrder);

            Assert.Equal(value, result);
        }
Example #13
0
        public void GetSamplesPerPixel_ReturnsValue(ByteOrder byteOrder, TiffType type, uint?value)
        {
            var ifd = TiffIfdBuilder.GenerateIfd(TiffTags.SamplesPerPixel, type, value, byteOrder).Ifd;

            var result = ifd.GetSamplesPerPixel(byteOrder);

            if (value == null)
            {
                value = 1; // Default value
            }
            Assert.Equal(value, result);
        }
Example #14
0
        public void GetRowsPerStrip_ReturnsValue(ByteOrder byteOrder, TiffType type, uint?value)
        {
            var ifd = TiffIfdBuilder.GenerateIfd(TiffTags.RowsPerStrip, type, value, byteOrder).Ifd;

            var result = ifd.GetRowsPerStrip(byteOrder);

            if (value == null)
            {
                value = UInt32.MaxValue; // Default value
            }
            Assert.Equal(value, result);
        }
Example #15
0
        public async Task ReadBitsPerSampleAsync_ReturnsValue(ByteOrder byteOrder, TiffType type, uint[] value)
        {
            var ifdStreamTuple = TiffIfdBuilder.GenerateIfd(TiffTags.BitsPerSample, type, value, byteOrder);

            var ifd    = ifdStreamTuple.Ifd;
            var stream = ifdStreamTuple.Stream;

            var result = await ifd.ReadBitsPerSampleAsync(stream, byteOrder);

            if (value == null)
            {
                value = new uint[] { 1 }
            }
            ;                             // Default value

            Assert.Equal(value, result);
        }
        public async Task GetImageDecoderAsync_BlackIsZero_CanDecodeImage()
        {
            var tuple = new TiffIfdBuilder(ByteOrder.LittleEndian)
                        .WithIfdEntry(TiffTags.PhotometricInterpretation, TiffType.Short, (int?)TiffPhotometricInterpretation.BlackIsZero)
                        .WithIfdEntry(TiffTags.BitsPerSample, TiffType.Short, new uint[] { 8 })
                        .ToIfdStreamTuple();
            var ifd    = tuple.Ifd;
            var stream = tuple.Stream;

            var imageData = new byte[] { 0xFF, 0x00, 0x42,
                                         0x12, 0xA5, 0x3D };

            var expectedResult = new[] { new[] { Color.FromHex("FFFFFF"), Color.FromHex("000000"), Color.FromHex("424242") },
                                         new[] { Color.FromHex("121212"), Color.FromHex("A5A5A5"), Color.FromHex("3D3D3D") } };

            await AssertReadsImageData(ifd, stream, imageData, expectedResult);
        }
        public async Task GetImageDecoderAsync_Rgb_CanDecodeImage_WithExtraSamples()
        {
            var tuple = new TiffIfdBuilder(ByteOrder.LittleEndian)
                        .WithIfdEntry(TiffTags.PhotometricInterpretation, TiffType.Short, (int?)TiffPhotometricInterpretation.Rgb)
                        .WithIfdEntry(TiffTags.SamplesPerPixel, TiffType.Short, 5)
                        .WithIfdEntry(TiffTags.BitsPerSample, TiffType.Short, new uint[] { 8, 8, 8, 8, 8 })
                        .ToIfdStreamTuple();
            var ifd    = tuple.Ifd;
            var stream = tuple.Stream;

            var imageData = new byte[] { 0xFF, 0x00, 0x00, 0x55, 0x55, 0x00, 0xFF, 0x00, 0x55, 0x55, 0x00, 0x00, 0xFF, 0x55, 0x55,
                                         0xFF, 0xFF, 0x00, 0x55, 0x55, 0x00, 0xFF, 0xFF, 0x55, 0x55, 0xFF, 0x00, 0xFF, 0x55, 0x55 };

            var expectedResult = new[] { new[] { Color.FromHex("FF0000"), Color.FromHex("00FF00"), Color.FromHex("0000FF") },
                                         new[] { Color.FromHex("FFFF00"), Color.FromHex("00FFFF"), Color.FromHex("FF00FF") } };

            await AssertReadsImageData(ifd, stream, imageData, expectedResult);
        }