示例#1
0
        public void TestCopyExistingFiles()
        {
            string tempDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());

            Directory.CreateDirectory(tempDirectory);
            var fileName = Path.Combine(tempDirectory, Path.GetRandomFileName());

            File.WriteAllText(fileName, "test string");

            string toTempDirectory = Path.Combine(tempDirectory, Path.GetRandomFileName());

            Directory.CreateDirectory(toTempDirectory);

            CopyWithHash.CopyFiles(tempDirectory, toTempDirectory);
            var newFileName = Directory.GetFiles(toTempDirectory).Single();

            var originalTime = File.GetLastWriteTimeUtc(newFileName);

            Thread.Sleep(50);

            // Create new copy of file with later timestamp
            File.WriteAllText(fileName, "test string");
            CopyWithHash.CopyFiles(tempDirectory, toTempDirectory);
            var newTime = File.GetLastWriteTimeUtc(newFileName);

            var timespan = (newTime - originalTime).TotalMilliseconds;

            Assert.IsTrue(timespan >= 50);
        }
示例#2
0
        public void TestGetHash()
        {
            var fromStream = new MemoryStream(Encoding.UTF8.GetBytes("test string"));
            var hash       = CopyWithHash.GetHash(fromStream);

            Assert.AreEqual <string>("6f8db599de986fab7a21625b7916589c", hash);
        }
示例#3
0
        public void TestInsertHashMultipleExtensions()
        {
            var fileInfo = new FileInfo(@"Z:\test\file.ext1.ext2");
            var hash     = "6f8db599de986fab7a21625b7916589c";
            var fileName = CopyWithHash.InsertHash(fileInfo, hash);

            Assert.AreEqual <string>("file.ext1.6f8db599de986fab7a21625b7916589c.ext2", fileName);
        }
示例#4
0
        public void TestInsertHashNormalName()
        {
            var fileInfo = new FileInfo(@"Z:\test\file.ext");
            var hash     = "6f8db599de986fab7a21625b7916589c";
            var fileName = CopyWithHash.InsertHash(fileInfo, hash);

            Assert.AreEqual <string>("file.6f8db599de986fab7a21625b7916589c.ext", fileName);
        }
示例#5
0
        public void TestRenameFiles()
        {
            string tempDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());

            Directory.CreateDirectory(tempDirectory);
            var fileName = Path.Combine(tempDirectory, Path.GetRandomFileName());

            File.WriteAllText(fileName, "test string");

            CopyWithHash.RenameFiles(tempDirectory);
            var newFileName = Directory.GetFiles(tempDirectory).Single();

            Assert.AreEqual <string>(Path.GetFileNameWithoutExtension(fileName) + ".6f8db599de986fab7a21625b7916589c" + Path.GetExtension(fileName), Path.GetFileName(newFileName));
        }