Esempio n. 1
0
        public async Task UnevenReadComparisonNotMatching()
        {
            var bytes1 = new byte[StreamCompare.DefaultBufferSize * 2];
            var bytes2 = new byte[bytes1.Length];

            var rng = new Random();

            rng.NextBytes(bytes1);

            bytes1.CopyTo(bytes2, 0);
            bytes2[bytes2.Length - 1] += 1;

            using (var stream1 = new MemoryStream(bytes1))
                using (var stream2 = new UnseekableMemoryStream(bytes2))
                {
                    stream2.ReadModifier = 0.7;

                    var scompare = new StreamCompare();
                    // Automatic forceLengthCompare
                    Assert.IsFalse(await scompare.AreEqualAsync(stream1, stream2));
                }

            // And again with stream1 reading less
            using (var stream1 = new UnseekableMemoryStream(bytes1))
                using (var stream2 = new MemoryStream(bytes2))
                {
                    stream1.ReadModifier = 0.7;

                    var scompare = new StreamCompare();
                    // Explicit forceLengthCompare
                    Assert.IsFalse(await scompare.AreEqualAsync(stream1, stream2, false));
                }
        }
Esempio n. 2
0
        public async Task UnseekableStreamComparison()
        {
            var bytes1 = new byte[StreamCompare.DefaultBufferSize * 2];
            var bytes2 = new byte[bytes1.Length];

            var rng = new Random();

            rng.NextBytes(bytes1);

            bytes1.CopyTo(bytes2, 0);

            using (var stream1 = new MemoryStream(bytes1))
                using (var stream2 = new UnseekableMemoryStream(bytes2))
                {
                    var scompare = new StreamCompare();
                    Assert.IsTrue(await scompare.AreEqualAsync(stream1, stream2, false));
                }
        }