public void IEncoding_SetsSubcomponentDelimiter()
        {
            var encoding = new EncodingConfiguration();

            ((IEncoding)encoding).SubcomponentDelimiter = '$';
            encoding.SubcomponentDelimiter.Should().Be('$');
        }
        public void IEncoding_SetsRepetitionDelimiter()
        {
            var encoding = new EncodingConfiguration();

            ((IEncoding)encoding).RepetitionDelimiter = '$';
            encoding.RepetitionDelimiter.Should().Be('$');
        }
        public void IEncoding_SetsEscapeCharacter()
        {
            var encoding = new EncodingConfiguration();

            ((IEncoding)encoding).EscapeCharacter = '$';
            encoding.EscapeCharacter.Should().Be('$');
        }
        public async Task WriteThenRead_ProducesEquivalentOutput(ChunkConfiguration chunkConfig, TBody body)
        {
            var orignalChunk  = new Chunk <TBody>(chunkConfig, body);
            var storageStream = new MemoryStream();
            Serializer <TBody> chunkBodySerializer = GetBodySerializer(orignalChunk);

            var encodingConfiguration = new EncodingConfiguration("somePass!!", new MemoryStorageProvider(), 4096, 1024 * 1000);

            var decodingConfiguration = new DecodingConfiguration("somePass!!", new MemoryStorageProvider(), 4096);

            ChunkWriter writer = GetChunkWriter(encodingConfiguration);
            await writer.WriteChunkAsync(storageStream, chunkBodySerializer, orignalChunk);

            if (storageStream.Length == 0)
            {
                Debugger.Break();
            }

            storageStream.Position = 0;
            ChunkReader   reader       = GetChunkReader(decodingConfiguration);
            Chunk <TBody> decodedChunk = await reader.ReadChunkAsync(storageStream,
                                                                     new ChunkInfo(chunkConfig, storageStream.Length), chunkBodySerializer);

            AssertEqual(orignalChunk, decodedChunk);
        }
示例#5
0
        public void GetEncodingInvalidFormatTest()
        {
            EncodingConfiguration config = new EncodingConfiguration();

            config.CodePage = "SFDS";

            config.GetEncoding();
        }
        public void GetEncodingInvalidFormatTest()
        {
            EncodingConfiguration config = new EncodingConfiguration();

            config.CodePage = "SFDS";

            Assert.Throws(typeof(FormatException), () => config.GetEncoding());
        }
示例#7
0
        public void CreateTest()
        {
            EncodingConfiguration encodingConfiguration = new EncodingConfiguration();

            //
            // Verify default state
            //
            Assert.AreEqual(EncodingConfiguration.DetectCodePage, encodingConfiguration.CodePage, "Unexpected default value for CodePage.");
        }
示例#8
0
        public void ToStringTest()
        {
            EncodingConfiguration encodingConfiguration = new EncodingConfiguration();

            encodingConfiguration.CodePage = "65001";

            string str = encodingConfiguration.ToString();

            Assert.AreEqual("Encoding: CodePage - 65001", str, "Unexpected string representation.");
        }
        public ImageEncoderBase BuildEncoder(Version version, EncodingConfiguration encodingConfiguration)
        {
            switch (version)
            {
            case Version.V1:
                return(new V1.ImageEncoder(encodingConfiguration));

            default:
                throw new UnsupportedVersionException(String.Format("Version {0} is not supported", (short)Version.V1));
            }
        }
示例#10
0
        public void GetEncodingInvalidFormatTest()
        {
            EncodingConfiguration config = new EncodingConfiguration();

            config.CodePage = "SFDS";

            Assert.Throws <FormatException>(
                delegate
            {
                config.GetEncoding();
            });
        }
示例#11
0
        public void CloneTest()
        {
            EncodingConfiguration encodingConfiguration = new EncodingConfiguration();

            encodingConfiguration.CodePage = "1252";

            EncodingConfiguration clone = encodingConfiguration.Clone() as EncodingConfiguration;

            Assert.IsNotNull(clone, "Clone did not return a valid instance.");

            Assert.AreEqual(encodingConfiguration.CodePage, clone.CodePage);
        }
示例#12
0
        public async Task SaveAsync(Stream outputStream, EncodingConfiguration encodingConfiguration)
        {
            var imageConfiguration = new ImageConfiguration(
                Format,
                EmbeddedImage,
                Directories,
                Metadata,
                EncryptionConfiguration,
                CompressionConfiguration);

            var encoder = new Codec.V2.ImageEncoder(encodingConfiguration);
            await encoder.EncodeAsync(imageConfiguration, outputStream);
        }
示例#13
0
        public void GetEncodingTest()
        {
            EncodingConfiguration config = new EncodingConfiguration();
            Encoding encoding            = null;

            config.CodePage = "Default";
            encoding        = config.GetEncoding();
            Assert.AreEqual(Encoding.Default.CodePage, encoding.CodePage, "Unexpected codepage.");
            config.CodePage = "default";
            encoding        = config.GetEncoding();
            Assert.AreEqual(Encoding.Default.CodePage, encoding.CodePage, "Unexpected codepage.");

            config.CodePage = "65001";
            encoding        = config.GetEncoding();
            Assert.AreEqual(65001, encoding.CodePage, "Unexpected codepage.");

            config.CodePage = "Detect";
            encoding        = config.GetEncoding();
            Assert.IsNull(encoding, "Unexpected encoding.");
            config.CodePage = "detect";
            encoding        = config.GetEncoding();
            Assert.IsNull(encoding, "Unexpected encoding.");
        }
示例#14
0
 public ImageEncoder(EncodingConfiguration encodingConfiguration) : base(encodingConfiguration)
 {
 }
示例#15
0
 protected ImageEncoderBase(EncodingConfiguration encodingConfiguration)
 {
     _encodingConfiguration = encodingConfiguration;
     _headerBytes           = HeaderSerializer.SerializeToBytesAsync(new Header(Signature.Bytes, (short)Version)).Result;
 }
 internal virtual ChunkWriter GetChunkWriter(EncodingConfiguration configuration)
 {
     return(new ChunkWriter(configuration));
 }