public static void GetPackageReferencesMarkedForReinstallationReturnsEmptyListWhenNuGetIsNotInUseInAProject()
        {
            // Arrange
            Mock <Project> mockProject = new Mock <Project>();

            mockProject.SetupGet(p => p.FullName).Returns(@"c:\a\b\c.csproj");

            // Setup project kind to a supported value. This makes sure that the check for existence of packages.config happens
            mockProject.Setup(p => p.Kind).Returns(CsharpProjectTypeGuid);

            var mockServices = new Dictionary <Type, object>();
            Mock <IVsSolution> mockSolution = new Mock <IVsSolution>();

            mockServices.Add(typeof(IVsSolution), mockSolution.Object);
            Mock <IVsHierarchy> mockHier = new Mock <IVsHierarchy>();
            IVsHierarchy        hier     = mockHier.Object;

            mockSolution.Setup(m => m.GetProjectOfUniqueName(It.IsAny <string>(), out hier)).Returns(0);
            ServiceLocator.TestServiceCache = mockServices;

            // Act
            var packagesToBeReinstalled = ProjectRetargetingUtility.GetPackageReferencesMarkedForReinstallation(mockProject.Object);

            // Assert
            Assert.True(packagesToBeReinstalled.IsEmpty());
        }
Пример #2
0
        public static void GetPackageReferencesMarkedForReinstallationWhenProjectKindIsNull()
        {
            // Arrange
            Mock <Project> mockProject = new Mock <Project>();

            // Act
            var packagesToBeReinstalled = ProjectRetargetingUtility.GetPackageReferencesMarkedForReinstallation(mockProject.Object);

            // Assert
            Assert.True(packagesToBeReinstalled.IsEmpty());
        }
        public static void GetPackageReferencesMarkedForReinstallationWhenProjectIsNotOfSupportedType()
        {
            // Arrange
            Mock<Project> mockProject = new Mock<Project>();
            mockProject.Setup(p => p.Kind).Returns(Guid.NewGuid().ToString());

            // Act
            var packagesToBeReinstalled = ProjectRetargetingUtility.GetPackageReferencesMarkedForReinstallation(mockProject.Object);

            // Assert
            Assert.True(packagesToBeReinstalled.IsEmpty());
        }
Пример #4
0
        public static void GetPackageReferencesMarkedForReinstallationReturnsEmptyListWhenNuGetIsNotInUseInAProject()
        {
            // Arrange
            Mock <Project> mockProject = new Mock <Project>();

            // Setup project kind to a supported value. This makes sure that the check for existence of packages.config happens
            mockProject.Setup(p => p.Kind).Returns(VsConstants.CsharpProjectTypeGuid);

            // Act
            var packagesToBeReinstalled = ProjectRetargetingUtility.GetPackageReferencesMarkedForReinstallation(mockProject.Object);

            // Assert
            Assert.True(packagesToBeReinstalled.IsEmpty());
        }
        private void ShowWarningsForPackageReinstallation(Solution solution)
        {
            Debug.Assert(solution != null);

            foreach (Project project in solution.Projects)
            {
                IList <PackageReference> packageReferencesToBeReinstalled = ProjectRetargetingUtility.GetPackageReferencesMarkedForReinstallation(project);
                if (packageReferencesToBeReinstalled.Count > 0)
                {
                    Debug.Assert(project.IsNuGetInUse());
                    IVsHierarchy projectHierarchy = project.ToVsHierarchy();
                    ShowRetargetingErrorTask(packageReferencesToBeReinstalled.Select(p => p.Id), projectHierarchy, TaskErrorCategory.Warning, TaskPriority.Normal);
                }
            }
        }