コード例 #1
0
 public void should_get_single_folder()
 {
     var folder = "folder";
     var hasher = MockRepository.GenerateMock<IHasher>();
     var comparer = new FolderHasher(hasher, true);
     hasher.Expect(x => x.ExamineDir(folder, folder));
     var dict = new Dictionary<string, string> { { "a", "b" } };
     hasher.Expect(x => x.GetFileHashList()).Return(dict);
     //Test
     hasher.GetFileHashList();
     //Assert
     comparer.Process(folder);
     hasher.VerifyAllExpectations();
 }
コード例 #2
0
ファイル: Controller.cs プロジェクト: perryofpeek/winCompare
        public int Compare(string leftPath, string rightPath, List<string> ignoreList,bool showFileDiff)
        {
            var startTime = DateTime.Now;
            var leftCompare = new FolderHasher(new Hasher(new Hash(), ignoreList),debug);
            var rightCompare = new FolderHasher(new Hasher(new Hash(), ignoreList),debug);

            leftCompare.SetFolder(leftPath);
            rightCompare.SetFolder(rightPath);
            var l = new Thread(leftCompare.Process1);
            var r = new Thread(rightCompare.Process1);

            l.Start();
            r.Start();
            while(l.IsAlive || r.IsAlive)
            {
                Thread.Sleep(10);
            }
            var comparison = new Comparison();
            comparison.Compare(leftCompare.Results,  rightCompare.Results);
            var executionTime = DateTime.Now.Subtract(startTime);
            if(showFileDiff)
            {
                foreach (var diff in comparison.Diff)
                {
                    Console.WriteLine(string.Format("{0} reason {1}", diff.Key, diff.Value.GetType()));
                }
            }

            if(verbose)
            {
                Console.WriteLine(string.Format("Took {0} to run", executionTime));
                Console.WriteLine(string.Format("Folders are same = {0}", comparison.AreSame()));
                Console.WriteLine(string.Format("Number of files are same = {0}", comparison.Same.Count));
                Console.WriteLine(string.Format("Number of files are different = {0}", comparison.Diff.Count));
            }

            return !comparison.AreSame() ? 1 : 0;
        }