Example #1
0
        public void UsageTest()
        {
            var sourceComparison = new SourceComparison();
            sourceComparison.Add(new MissingFileInProject("project"));
            sourceComparison.Add(new MissingFileInSource("source"));

            Assert.IsNotNull(sourceComparison.MissingFilesInProject);
            Assert.AreEqual(1, sourceComparison.MissingFilesInProject.Count());
            var res = sourceComparison.MissingFilesInProject.FirstOrDefault();
            Assert.IsNotNull(res);
            Assert.AreEqual("project", res.Path);
            Assert.IsTrue(res.ToString().Contains("project"));

            Assert.IsNotNull(sourceComparison.MissingFilesInSource);
            Assert.AreEqual(1, sourceComparison.MissingFilesInSource.Count());
            var sourceMissing = sourceComparison.MissingFilesInSource.FirstOrDefault();
            Assert.IsNotNull(sourceMissing);
            Assert.AreEqual("source", sourceMissing.Path);
            Assert.IsTrue(sourceMissing.ToString().Contains("source"));

            Assert.IsTrue(sourceComparison.ToString().Contains("source"));
            Assert.IsTrue(sourceComparison.ToString().Contains("project"));
            var lines = sourceComparison.ToString().Split('\n');
            var lineNumber = lines.Length;
            if (lines.Last() == string.Empty)
            {
                lineNumber--;
            }
            Assert.AreEqual(2, lineNumber);
        }
Example #2
0
 public SourceComparison Compare(HashSet<string> itemsInCsProj, HashSet<string> sourcesInSourceFile)
 {
     var pathInCsProj =
         itemsInCsProj.ToDictionaryIgnoreDuplicates(x => x.ToLower().ToPlatformPath().Trim().RemoveDotPath(),
             x => x);
     var pathInSourceFile =
         sourcesInSourceFile.ToDictionaryIgnoreDuplicates(
             x => x.ToLower().ToPlatformPath().Trim().RemoveDotPath(), x => x);
     var comparison = new SourceComparison();
     foreach (var item in pathInCsProj)
     {
         if (!pathInSourceFile.ContainsKey(item.Key))
         {
             comparison.Add(new MissingFileInSource(item.Value));
         }
     }
     foreach (var source in pathInSourceFile)
     {
         if (!pathInCsProj.ContainsKey(source.Key))
         {
             comparison.Add(new MissingFileInProject(source.Value));
         }
     }
     return comparison;
 }