public void Setup()
 {
     projectLocator = Substitute.For<IProjectLocator>();
     projectProvider = Substitute.For<IProjectProvider>();
     projectProvider
        .LoadProjectDocument(Arg.Any<string>())
        .Returns(XDocument.Parse(File.ReadAllText(Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, @"..\..\..\SampleApp\SampleApp.csproj")))));
 }
        public void assemblies_referencing_bin_obj()
        {
            projectProvider
            .LoadProjectDocument()
            .Returns(XDocument.Parse(Resources.ProjectFileWithBinReference));

            var project  = new ProjectReferences(projectProvider);
            var failures = Convention.GetFailures(new ProjectDoesNotReferenceDllsFromBinOrObjDirectories(), project);

            failures.ShouldMatchApproved();
        }
        public void can_parse_a_normal_project_file_to_read_global_debug_and_release_property_groups()
        {
            projectProvider
            .LoadProjectDocument()
            .Returns(XDocument.Parse(Resources.ProjectFileWithBinReference));

            var projectGroups = new ProjectPropertyGroups(projectProvider);

            Assert.That(projectGroups.PropertyGroups.Length, Is.EqualTo(3));
            Assert.That(projectGroups.PropertyGroups.Any(item => item.Debug));
            Assert.That(projectGroups.PropertyGroups.Any(item => item.Release));
            Assert.That(projectGroups.PropertyGroups.Any(item => item.Global));
        }