public void FindDifferences_GivenTwoLists_ShouldReturnsDifferences() { var differenceFinder = new DifferenceFinder <int>(); var a = new[] { 1, 2, 3 }; var b = new[] { 2, 3, 4, 5 }; var differences = differenceFinder.FindDifferences(a, b); Assert.AreEqual(2, differences.ObjectsMissingInFirstList.Count()); Assert.That(differences.ObjectsMissingInFirstList.Contains(4)); Assert.That(differences.ObjectsMissingInFirstList.Contains(5)); Assert.AreEqual(1, differences.ObjectsMissingInSecondList.Count()); Assert.That(differences.ObjectsMissingInSecondList.Contains(1)); }
public void FindDifferences_GivenTwoBigLists_ShouldReturnsDifferencesQuickly() { var stopwatch = Stopwatch.StartNew(); var differenceFinder = new DifferenceFinder <int>(); var a = Enumerable.Range(0, 10000); var b = Enumerable.Range(5000, 10000); var differences = differenceFinder.FindDifferences(a, b); Assert.AreEqual(5000, differences.ObjectsMissingInFirstList.Count()); Assert.AreEqual(5000, differences.ObjectsMissingInSecondList.Count()); Console.WriteLine("Time needed:" + stopwatch.Elapsed); Assert.IsTrue(stopwatch.ElapsedMilliseconds < 50); }