public void RestorePackages_NullProject_CallsRestoreManager()
        {
            // Arrange
            var restoreManager = new Mock <IPackageRestoreManager>();

            // Act
            VsPackageRestorer target = CreateTarget(restoreManager: restoreManager.Object);

            target.RestorePackages(null);

            // Assert
            restoreManager.Verify(rm => rm.RestoreMissingPackagesInSolutionAsync(It.IsAny <string>(), It.IsAny <INuGetProjectContext>(), It.IsAny <ILogger>(), It.IsAny <CancellationToken>()), Times.Once);
        }
        public void RestorePackages_InternalException_PostsFault()
        {
            // Arrange
            var expectedException = new ArgumentException("Internal error");

            var restoreManager = new Mock <IPackageRestoreManager>();

            restoreManager.Setup(rm => rm.RestoreMissingPackagesInSolutionAsync(It.IsAny <string>(), It.IsAny <INuGetProjectContext>(), It.IsAny <ILogger>(), It.IsAny <CancellationToken>()))
            .Throws(expectedException);

            var telemetryProvider = new Mock <INuGetTelemetryProvider>();

            // Act
            VsPackageRestorer target = CreateTarget(restoreManager: restoreManager.Object, telemetryProvider: telemetryProvider.Object);

            target.RestorePackages(null);

            // Assert
            telemetryProvider.Verify(t => t.PostFault(expectedException, typeof(VsPackageRestorer).FullName, nameof(VsPackageRestorer.RestorePackages), It.IsAny <IDictionary <string, object> >()), Times.Once);
        }