public void ProjectSystemHelper_GetSolutionProjects_ReturnsOnlyKnownLanguages() { // Arrange ProjectMock csProject = this.solutionMock.AddOrGetProject("c#"); csProject.SetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ExtObject, csProject); csProject.ProjectKind = ProjectSystemHelper.CSharpProjectKind; ProjectMock vbProject = this.solutionMock.AddOrGetProject("vb.net"); vbProject.SetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ExtObject, vbProject); vbProject.ProjectKind = ProjectSystemHelper.VbProjectKind; ProjectMock otherProject = this.solutionMock.AddOrGetProject("other"); otherProject.SetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ExtObject, otherProject); otherProject.ProjectKind = "other"; ProjectMock erronousProject = this.solutionMock.AddOrGetProject("err"); erronousProject.SetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ExtObject, null); erronousProject.ProjectKind = ProjectSystemHelper.VbProjectKind; // Act var actual = this.testSubject.GetSolutionProjects().ToArray(); // Assert CollectionAssert.AreEqual(new[] { csProject, vbProject }, actual, "Unexpected projects: {0}", string.Join(", ", actual.Select(p => p.Name))); }
public void ProjectSystemHelper_GetFilteredSolutionProjects() { ProjectMock csProject = this.solutionMock.AddOrGetProject("c#"); csProject.SetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ExtObject, csProject); csProject.ProjectKind = ProjectSystemHelper.CSharpProjectKind; ProjectMock vbProject = this.solutionMock.AddOrGetProject("vb.net"); vbProject.SetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ExtObject, vbProject); vbProject.ProjectKind = ProjectSystemHelper.VbProjectKind; ProjectMock otherProject = this.solutionMock.AddOrGetProject("other"); otherProject.SetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ExtObject, otherProject); otherProject.ProjectKind = "other"; ProjectMock erronousProject = this.solutionMock.AddOrGetProject("err"); erronousProject.SetProperty(VSConstants.VSITEMID_ROOT, (int)__VSHPROPID.VSHPROPID_ExtObject, null); erronousProject.ProjectKind = ProjectSystemHelper.VbProjectKind; // Filter out C#, keep VB projectFilter.MatchingProjects.Add(vbProject); // Act var actual = this.testSubject.GetFilteredSolutionProjects().ToArray(); // Verify CollectionAssert.AreEqual(new[] { vbProject }, actual, "Unexpected projects: {0}", string.Join(", ", actual.Select(p => p.Name))); }