示例#1
0
        public void Signatures_can_be_generated_on_the_same_repository()
        {
            const int size         = 1024 * 1024 * 5;
            var       randomStream = new RandomStream(size);
            var       buffer       = new byte[size];

            randomStream.Read(buffer, 0, size);
            var stream = new MemoryStream(buffer);

            using (var signatureRepository = new VolatileSignatureRepository("test"))
                using (var rested = new SigGenerator())
                {
                    var signatures = signatureRepository.GetByFileName();
                    Assert.Equal(0, signatures.Count());

                    stream.Position = 0;
                    var result = rested.GenerateSignatures(stream, "test", signatureRepository);

                    signatures = signatureRepository.GetByFileName();
                    Assert.Equal(2, signatures.Count());

                    stream.Position = 0;
                    result          = rested.GenerateSignatures(stream, "test", signatureRepository);

                    signatures = signatureRepository.GetByFileName();
                    Assert.Equal(2, signatures.Count());
                }
        }
示例#2
0
        public void Should_be_the_same_signatures()
        {
            const int size         = 1024 * 1024 * 5;
            var       randomStream = new RandomStream(size);
            var       buffer       = new byte[size];

            randomStream.Read(buffer, 0, size);
            var stream = new MemoryStream(buffer);

            var firstSigContentHashes = new List <string>();

            using (var signatureRepository = new VolatileSignatureRepository("test"))
                using (var rested = new SigGenerator())
                {
                    var result = rested.GenerateSignatures(stream, "test", signatureRepository);

                    foreach (var signatureInfo in result)
                    {
                        using (var content = signatureRepository.GetContentForReading(signatureInfo.Name))
                        {
                            firstSigContentHashes.Add(content.GetMD5Hash());
                        }
                    }
                }

            stream.Position = 0;

            var secondSigContentHashes = new List <string>();

            using (var signatureRepository = new VolatileSignatureRepository("test"))
                using (var rested = new SigGenerator())
                {
                    var result = rested.GenerateSignatures(stream, "test", signatureRepository);

                    foreach (var signatureInfo in result)
                    {
                        using (var content = signatureRepository.GetContentForReading(signatureInfo.Name))
                        {
                            secondSigContentHashes.Add(content.GetMD5Hash());
                        }
                    }
                }

            Assert.Equal(firstSigContentHashes.Count, secondSigContentHashes.Count);

            for (var i = 0; i < firstSigContentHashes.Count; i++)
            {
                Assert.Equal(firstSigContentHashes[i], secondSigContentHashes[i]);
            }
        }
示例#3
0
		public void Should_be_the_same_signatures()
		{
			const int size = 1024*1024*5;
			var randomStream = new RandomStream(size);
			var buffer = new byte[size];
			randomStream.Read(buffer, 0, size);
			var stream = new MemoryStream(buffer);

			var firstSigContentHashes = new List<string>();

			using (var signatureRepository = new VolatileSignatureRepository("test"))
			using (var rested = new SigGenerator())
			{
				var result = rested.GenerateSignatures(stream, "test", signatureRepository);

				foreach (var signatureInfo in result)
				{
					using (var content = signatureRepository.GetContentForReading(signatureInfo.Name))
					{
						firstSigContentHashes.Add(content.GetMD5Hash());
					}
				}
			}

			stream.Position = 0;

			var secondSigContentHashes = new List<string>();

			using (var signatureRepository = new VolatileSignatureRepository("test"))
			using (var rested = new SigGenerator())
			{
				var result = rested.GenerateSignatures(stream, "test", signatureRepository);

				foreach (var signatureInfo in result)
				{
					using (var content = signatureRepository.GetContentForReading(signatureInfo.Name))
					{
						secondSigContentHashes.Add(content.GetMD5Hash());
					}
				}
			}

			Assert.Equal(firstSigContentHashes.Count, secondSigContentHashes.Count);

			for (var i = 0; i < firstSigContentHashes.Count; i++)
			{
				Assert.Equal(firstSigContentHashes[i], secondSigContentHashes[i]);
			}
		}
示例#4
0
        public void Signatures_can_be_generated_on_the_same_repository()
        {
            const int size = 1024 * 1024 * 5;
            var randomStream = new RandomStream(size);
            var buffer = new byte[size];
            randomStream.Read(buffer, 0, size);
            var stream = new MemoryStream(buffer);

            foreach (var fileName in new [] { "test", "content/test", "/content/test"})
            {
                using (var signatureRepository = new VolatileSignatureRepository(fileName))
                using (var rested = new SigGenerator())
                {
                    var signatures = signatureRepository.GetByFileName();
                    Assert.Equal(0, signatures.Count());

                    stream.Position = 0;
                    var result = rested.GenerateSignatures(stream, fileName, signatureRepository);

                    signatures = signatureRepository.GetByFileName();
                    Assert.Equal(2, signatures.Count());

                    stream.Position = 0;
                    result = rested.GenerateSignatures(stream, fileName, signatureRepository);

                    signatures = signatureRepository.GetByFileName();
                    Assert.Equal(2, signatures.Count());
                }
            }
        }