public void TryGetDTEProject_ReturnsNullWhenShortNameIsAmbiguous() { // Arrange var target = new ProjectSystemCache(); var projectNamesA = new ProjectNames( fullName: @"C:\src\projectA\project.csproj", uniqueName: @"folderA\project", shortName: "project", customUniqueName: @"folderA\project", projectId: _projectGuid1); var projectNamesB = new ProjectNames( fullName: @"C:\src\projectB\project.csproj", uniqueName: @"folderB\project", shortName: projectNamesA.ShortName, customUniqueName: @"folderB\project", projectId: _projectGuid2); target.AddProject(projectNamesA, vsProjectAdapter: null, nuGetProject: null); target.AddProject(projectNamesB, vsProjectAdapter: null, nuGetProject: null); IVsProjectAdapter actual; // Act var success = target.TryGetVsProjectAdapter(projectNamesA.ShortName, out actual); // Assert Assert.False(success, "The project should not have been fetched from the cache by short name."); Assert.Null(actual); }
public void TryGetVsProjectAdapter_ReturnsProjectByCustomUniqueName() { // Arrange var target = new ProjectSystemCache(); var projectNames = GetTestProjectNames(); var vsProjectAdapter = new Mock <IVsProjectAdapter>(); target.AddProject(projectNames, vsProjectAdapter.Object, nuGetProject: null); IVsProjectAdapter actual; // Act var success = target.TryGetVsProjectAdapter(projectNames.CustomUniqueName, out actual); // Assert Assert.True(success, "The project should have been fetched from the cache by custom unique name."); Assert.Same(vsProjectAdapter.Object, actual); }
public void TryGetDTEProject_ReturnsProjectWhenShortNameIsNotAmbiguous() { // Arrange var target = new ProjectSystemCache(); var projectNames = GetTestProjectNames(); var vsProjectAdapter = new Mock <IVsProjectAdapter>(); target.AddProject(projectNames, vsProjectAdapter.Object, nuGetProject: null); IVsProjectAdapter actual; // Act var success = target.TryGetVsProjectAdapter(projectNames.ShortName, out actual); // Assert Assert.True(success, "The project should have been fetched from the cache by short name."); Assert.Same(vsProjectAdapter.Object, actual); }
public void TryGetVsProjectAdapter_ReturnsProjectByUniqueName() { // Arrange var target = new ProjectSystemCache(); var projectNames = new ProjectNames( fullName: @"C:\src\project\project.csproj", uniqueName: @"folder\project", shortName: "project", customUniqueName: @"folder\project"); var vsProjectAdapter = new Mock <IVsProjectAdapter>(); target.AddProject(projectNames, vsProjectAdapter.Object, nuGetProject: null); IVsProjectAdapter actual; // Act var success = target.TryGetVsProjectAdapter(projectNames.UniqueName, out actual); // Assert Assert.True(success, "The project should have been fetched from the cache by unique name."); Assert.Same(vsProjectAdapter.Object, actual); }