Exemplo n.º 1
0
        public void SyncImpl_DecompressNullArray_ReturnsNull(Type type)
        {
            impl = GetImpl(type);

            byte[] result = impl.Decompress(null, COMPRESSION_SETTINGS);
            Assert.Null(result);
        }
Exemplo n.º 2
0
        public void SyncImpl_DecompressEmptyArray_ReturnsEmptyArray(Type type)
        {
            impl = GetImpl(type);

            byte[] empty  = new byte[0];
            byte[] result = impl.Decompress(empty, COMPRESSION_SETTINGS);
            Assert.Empty(result);
        }
Exemplo n.º 3
0
        public void SyncImpl_CompressNullOrEmptyString_ReturnsNull(Type type, string s)
        {
            impl = GetImpl(type);

            string result = impl.Compress(s);

            Assert.Null(result);
        }
Exemplo n.º 4
0
        public void SyncImpl_DecompressCompressedString_ReturnsOriginalString(Type type)
        {
            impl = GetImpl(type);

            const string STRING     = "mcvlmoqepoir4298DMKfgfgdKNEInofndogoidnoigorenoigniofoienoign983874389759835978465798469kdnfndiiudjfbniuigorenoigniofoienoign983874389759835978465798469kdnfndiiudjfbniuigorenoigniofoienoign983874389759835978465798469kdnfndiiudjfbniuigorenoigniofoienoign983874389759835978465798469kdnfndiiudjfbniuigorenoigniofoienoign983874389759835978465798469kdnfndiiudjfbniuigorenoigniofoienoign983874389759835978465798469kdnfndiiudjfbniuebujfneufsbunskjdfkje";
            string       compressed = impl.Compress(STRING);

            Assert.Equal(STRING, impl.Decompress(compressed));
        }
Exemplo n.º 5
0
        public void SyncImpl_CompressLongString_ReturnsSmallerString(Type type)
        {
            impl = GetImpl(type);

            const string STRING     = "mcvlmoqepoir4298DMKEKNKNEInofndogoidnoigorenoigniofoienoign983874389759835978465798469kdnfndiiudjfbniuigorenoigniofoienoign983874389759835978465798469kdnfndiiudjfbniuigorenoigniofoienoign983874389759835978465798469kdnfndiiudjfbniuigorenoigniofoienoign983874389759835978465798469kdnfndiiudjfbniuigorenoigniofoienoign983874389759835978465798469kdnfndiiudjfbniuigorenoigniofoienoign983874389759835978465798469kdnfndiiudjfbniuebujfneufsbunskjdfkje";
            string       compressed = impl.Compress(STRING);

            Assert.True(compressed.Length < STRING.Length);
        }
Exemplo n.º 6
0
        public void SyncImpl_DecompressNonCompressedArray_ThrowsException(Type type)
        {
            impl = GetImpl(type);

            byte[] data = new byte[1024 * 1024];
            for (int i = data.Length - 1; i >= 0; i--)
            {
                data[i] = (byte)(new Random().NextDouble() > 0.5d ? 5 : 75);
            }

            Assert.ThrowsAny <Exception>(() => GetImpl(type).Decompress(data, COMPRESSION_SETTINGS));
        }
Exemplo n.º 7
0
        public void SyncImpl_Compress5MB_ResultSmallerThanOriginal(Type type)
        {
            impl = GetImpl(type);

            byte[] data = new byte[1024 * 1024 * 5];
            for (int i = data.Length - 1; i >= 0; i--)
            {
                data[i] = (byte)(new Random().NextDouble() > 0.5d ? 5 : 75);
            }

            byte[] result = impl.Compress(data, new CompressionSettings {
                bufferSize = 1024
            });
            Assert.True(result.Length < data.Length);
        }
Exemplo n.º 8
0
        public void SyncImpl_CompressDataAndThenDecompress_ResultIdenticalData(Type type)
        {
            impl = GetImpl(type);

            byte[] data = new byte[1024 * 1024];
            for (int i = data.Length - 1; i >= 0; i--)
            {
                data[i] = (byte)(new Random().NextDouble() > 0.5d ? 5 : 75);
            }

            var compressionSettings = new CompressionSettings {
                bufferSize = 1024
            };

            byte[] compressed   = impl.Compress(data, compressionSettings);
            byte[] decompressed = impl.Decompress(compressed, compressionSettings);

            Assert.Equal(data, decompressed);
        }
 /// <summary>
 /// Creates a new key exchange utility instance using the specified <see cref="ISymmetricCryptography"/> and <see cref="ICompressionUtility"/> cryptography/compression providers.
 /// </summary>
 /// <param name="aes">The AES implementation to use for encrypting and decrypting private keys.</param>
 /// <param name="compressionUtility">The compression algo to use for (de)compressing keys.</param>
 /// <param name="compressionUtilityAsync">Asynchronous variant of the compression utility to use.</param>
 public KeyExchange(ISymmetricCryptography aes, ICompressionUtility compressionUtility, ICompressionUtilityAsync compressionUtilityAsync)
 {
     this.aes = aes;
     this.compressionUtility      = compressionUtility;
     this.compressionUtilityAsync = compressionUtilityAsync;
 }
Exemplo n.º 10
0
 public TestSessionFactory(ICompressionUtility compressionUtility, IStatusEventHandler statusEventHandler)
 {
     _compressionUtility = compressionUtility;
     _statusEventHandler = statusEventHandler;
 }
Exemplo n.º 11
0
 public ArchiveExtractor(ICompressionUtility compressionUtility)
 {
     _compressionUtility = compressionUtility;
 }