Beispiel #1
0
        private async Task CollectProjectsInformationAsync()
        {
            foreach (var currentProject in SolutionReferences)
            {
                var projectProcessor    = new ProjectReferenceParser();
                var projectReferences   = projectProcessor.Process(await Context.Options.FileSystem.ReadAsync(currentProject.Before.AbsolutePath));
                var historyInformations = new List <HistoryInformation>();

                foreach (var projectReference in projectReferences)
                {
                    var referenceHistory = new HistoryInformation();
                    referenceHistory.Before.RelativePath = projectReference.RelativePath;
                    referenceHistory.Before.AbsolutePath = new PathMapper(currentProject.Before.AbsolutePath).GetAbsolutePath(projectReference.RelativePath);

                    var futureReference = SolutionReferences.FirstOrDefault(d => string.Equals(d.Before.AbsolutePath, referenceHistory.Before.AbsolutePath, StringComparison.OrdinalIgnoreCase));
                    if (futureReference == null)
                    {
                        referenceHistory.After.AbsolutePath = referenceHistory.Before.AbsolutePath;
                        referenceHistory.After.RelativePath = referenceHistory.Before.RelativePath;
                    }
                    else
                    {
                        referenceHistory.After.AbsolutePath = futureReference.After.AbsolutePath;
                        referenceHistory.After.RelativePath = new PathMapper(currentProject.After.AbsolutePath).GetRelativePath(futureReference.After.AbsolutePath);
                    }

                    historyInformations.Add(referenceHistory);
                }

                ProjectReferences.Add(currentProject.Before.AbsolutePath, historyInformations);
            }
        }
Beispiel #2
0
        public void Should_load_all_project_references()
        {
            var file       = string.Format("TestResources{0}VS2008{0}CSharpNUnitTestProject.csproj", Path.DirectorySeparatorChar);;
            var parser     = new ProjectReferenceParser();
            var references = parser.GetAllProjectReferences(file);

            Assert.That(references.Count(), Is.EqualTo(1));
            Assert.That(references.ElementAt(0), Is.EqualTo(@"..\CSharpClassLibrary\CSharpClassLibrary.csproj"));
        }
Beispiel #3
0
        public void Should_load_all_references()
        {
            var file       = string.Format("TestResources{0}VS2008{0}CSharpNUnitTestProject.csproj", Path.DirectorySeparatorChar);
            var parser     = new ProjectReferenceParser();
            var references = parser.GetAllBinaryReferences(file);

            Assert.That(references.Count(), Is.EqualTo(10));
            Assert.That(references.ElementAt(0), Is.EqualTo("nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL"));
            Assert.That(references.ElementAt(1), Is.EqualTo("xunit, Version=1.5.0.1479, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL"));
            Assert.That(references.ElementAt(2), Is.EqualTo("Machine.Specifications"));
            Assert.That(references.ElementAt(3), Is.EqualTo("Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"));
            Assert.That(references.ElementAt(4), Is.EqualTo("System"));
            Assert.That(references.ElementAt(5), Is.EqualTo("System.Core"));
            Assert.That(references.ElementAt(6), Is.EqualTo("System.Xml.Linq"));
            Assert.That(references.ElementAt(7), Is.EqualTo("System.Data.DataSetExtensions"));
            Assert.That(references.ElementAt(8), Is.EqualTo("System.Data"));
            Assert.That(references.ElementAt(9), Is.EqualTo("System.Xml"));
        }
Beispiel #4
0
        public async Task Verify()
        {
            var processor          = new ProjectReferenceParser();
            var entitiesReferences = processor.Process(await EmbeddedTestFileUtility.GetFileStream("MoveTests.Before.entities.csproj").ReadToEndAsync());
            var efReferences       = processor.Process(await EmbeddedTestFileUtility.GetFileStream("MoveTests.Before.ef.csproj").ReadToEndAsync());

            entitiesReferences.Count.ShouldBe(0);

            efReferences.Count.ShouldBe(1);

            var expectedEfReferences = new[]
            {
                new ProjectReference(@"..\EF.Attempt1.Entities\EF.Attempt1.Entities.csproj"),
            };

            for (int i = 0; i < expectedEfReferences.Length; i++)
            {
                expectedEfReferences.ShouldContain(expectedEfReferences[i]);
            }
        }