public void GetFullPathOfUnloadedProject() { // Arrange var solution = new Mock <Solution>(); solution.SetupGet(s => s.FullName).Returns(@"c:\a\s.sln"); var dte = new Mock <DTE>(); dte.SetupGet(d => d.Solution).Returns(solution.Object); var project = new Mock <Project>(); project.SetupGet(p => p.DTE).Returns(dte.Object); project.SetupGet(p => p.UniqueName).Returns(@"b\c.csproj"); project.SetupGet(p => p.Kind).Returns(VsConstants.UnloadedProjectTypeGuid); // Act var projectDirectory = VsUtility.GetFullPath(project.Object); // Assert Assert.Equal(@"c:\a\b", projectDirectory); }
public void GetFullPathFallback(string propName, string propValue, string expected) { // Arrange var solution = new Mock <Solution>(); solution.SetupGet(s => s.FullName).Returns(@"c:\a\s.sln"); var dte = new Mock <DTE>(); dte.SetupGet(d => d.Solution).Returns(solution.Object); var property = new Mock <EnvDTE.Property>(); property.SetupGet(p => p.Value).Returns(propValue); var properties = new Mock <EnvDTE.Properties>(); properties.Setup(p => p.Item(propName)).Returns(property.Object); var project = new Mock <Project>(); project.SetupGet(p => p.DTE).Returns(dte.Object); project.SetupGet(p => p.UniqueName).Returns(@"b\c.csproj"); project.SetupGet(p => p.Kind).Returns(VsConstants.CsharpProjectTypeGuid); project.SetupGet(p => p.Properties).Returns(properties.Object); if (propName == "FullName") { project.SetupGet(p => p.FullName).Returns(propValue); } // Act var projectDirectory = VsUtility.GetFullPath(project.Object); // Assert Assert.Equal(@"c:\a\b", projectDirectory); }