public void should_find_no_differences_between_left_and_right() { var comparison = new Comparison(); var left = new Dictionary<string, string>(); var right = new Dictionary<string, string>(); left.Add("A", "1"); left.Add("B", "2"); right.Add("A", "1"); right.Add("B", "2"); comparison.Compare(left, right); Assert.That(comparison.AreSame(), Is.EqualTo(true)); }
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; }
public void should_find_one_difference_in_hash_between_left_and_right() { var comparison = new Comparison(); var left = new Dictionary<string, string>(); var right = new Dictionary<string, string>(); left.Add("A", "1"); left.Add("AA", "4"); left.Add("B", "2"); right.Add("A", "1"); right.Add("AA", "4"); right.Add("B", "1"); comparison.Compare(left, right); Assert.That(comparison.AreSame(), Is.EqualTo(false)); Assert.That(comparison.Diff.Count, Is.EqualTo(1)); Assert.That(comparison.Same.Count, Is.EqualTo(2)); Assert.That(comparison.Diff["B"].GetType(), Is.EqualTo(typeof(DifferentHashResult))); var item = (DifferentHashResult) comparison.Diff["B"]; Assert.That(item.LeftHash, Is.EqualTo("2")); Assert.That(item.RightHash, Is.EqualTo("1")); }
public void should_find_differences_missing_on_both_between_left_and_right() { var comparison = new Comparison(); var left = new Dictionary<string, string>(); var right = new Dictionary<string, string>(); left.Add("A", "1"); left.Add("B", "2"); left.Add("AA", "4"); right.Add("A", "1"); right.Add("B", "2"); right.Add("BB", "5"); comparison.Compare(left, right); Assert.That(comparison.AreSame(), Is.EqualTo(false)); Assert.That(comparison.Diff.Count, Is.EqualTo(2)); Assert.That(comparison.Same.Count, Is.EqualTo(2)); Assert.That(comparison.Diff["AA"].GetType(), Is.EqualTo(typeof(MissingOnRightSideResult))); Assert.That(comparison.Diff["BB"].GetType(), Is.EqualTo(typeof(MissingOnLeftSideResult))); var item1 = (MissingOnRightSideResult)comparison.Diff["AA"]; Assert.That(item1.Hash, Is.EqualTo("4")); var item2 = (MissingOnLeftSideResult)comparison.Diff["BB"]; Assert.That(item2.Hash, Is.EqualTo("5")); }