@@ -168,7 +168,7 @@ FakePackage UninstallPackageAndRemoveDependencies()
168168
169169 PackageOperation CreateOneInstallPackageOperation ( )
170170 {
171- var package = CreateFakePackage ( ) ;
171+ FakePackage package = CreateFakePackage ( ) ;
172172 package . Id = "PackageToInstall" ;
173173
174174 return new PackageOperation ( package , PackageAction . Install ) ;
@@ -253,7 +253,7 @@ public void ProjectManager_InstanceCreated_PathResolverIsPackageManagerPathResol
253253 public void InstallPackage_PackageInstancePassed_AddsReferenceToProject ( )
254254 {
255255 CreatePackageManager ( ) ;
256- var package = InstallPackage ( ) ;
256+ FakePackage package = InstallPackage ( ) ;
257257
258258 Assert . AreEqual ( package , testableProjectManager . PackagePassedToAddPackageReference ) ;
259259 }
@@ -325,7 +325,7 @@ public void InstallPackage_PackageDependenciesIgnored_AddsReferenceToPackage()
325325 {
326326 CreatePackageManager ( ) ;
327327 CreateTestableProjectManager ( ) ;
328- var package = InstallPackageAndIgnoreDependencies ( ) ;
328+ FakePackage package = InstallPackageAndIgnoreDependencies ( ) ;
329329
330330 Assert . AreEqual ( package , testableProjectManager . PackagePassedToAddPackageReference ) ;
331331 }
@@ -345,7 +345,7 @@ public void InstallPackage_PackageDependenciesNotIgnored_AddsReferenceToPackage(
345345 {
346346 CreatePackageManager ( ) ;
347347 CreateTestableProjectManager ( ) ;
348- var package = InstallPackageAndDoNotIgnoreDependencies ( ) ;
348+ FakePackage package = InstallPackageAndDoNotIgnoreDependencies ( ) ;
349349
350350 Assert . AreEqual ( package , testableProjectManager . PackagePassedToAddPackageReference ) ;
351351 }
@@ -355,7 +355,7 @@ public void UninstallPackage_PackageInProjectLocalRepository_RemovesReferenceFro
355355 {
356356 CreatePackageManager ( ) ;
357357 CreateTestableProjectManager ( ) ;
358- var package = UninstallPackage ( ) ;
358+ FakePackage package = UninstallPackage ( ) ;
359359
360360 Assert . AreEqual ( package . Id , testableProjectManager . PackagePassedToRemovePackageReference . Id ) ;
361361 }
@@ -422,14 +422,56 @@ public void UninstallPackage_ProjectLocalRepositoryHasPackage_PackageRemovedFrom
422422 Assert . AreEqual ( "Test" , packageRemovedFromProject . Id ) ;
423423 }
424424
425+ [ Test ]
426+ public void UninstallPackage_PackageReferencedByNoProjects_PackageIsRemovedFromSharedSolutionRepository ( )
427+ {
428+ CreatePackageManager ( ) ;
429+ CreateTestableProjectManager ( ) ;
430+
431+ FakePackage package = CreateFakePackage ( ) ;
432+ package . Id = "MyPackageId" ;
433+
434+ testableProjectManager . FakeLocalRepository . FakePackages . Add ( package ) ;
435+ fakeSolutionSharedRepository . FakePackages . Add ( package ) ;
436+
437+ packageManager . UninstallPackage ( package ) ;
438+
439+ bool containsPackage = fakeSolutionSharedRepository . FakePackages . Contains ( package ) ;
440+
441+ Assert . IsFalse ( containsPackage ) ;
442+ }
443+
444+ [ Test ]
445+ public void UninstallPackage_PackageReferencedByTwoProjects_PackageIsNotRemovedFromSharedSolutionRepository ( )
446+ {
447+ CreatePackageManager ( ) ;
448+ CreateTestableProjectManager ( ) ;
449+
450+ FakePackage package = CreateFakePackage ( ) ;
451+ package . Id = "MyPackageId" ;
452+ package . Version = new Version ( "1.4.5.2" ) ;
453+
454+ testableProjectManager . FakeLocalRepository . FakePackages . Add ( package ) ;
455+ fakeSolutionSharedRepository . FakePackages . Add ( package ) ;
456+ fakeSolutionSharedRepository . PackageIdsReferences . Add ( "MyPackageId" ) ;
457+
458+ packageManager . UninstallPackage ( package ) ;
459+
460+ bool containsPackage = fakeSolutionSharedRepository . FakePackages . Contains ( package ) ;
461+
462+ Assert . IsTrue ( containsPackage ) ;
463+ Assert . AreEqual ( "MyPackageId" , fakeSolutionSharedRepository . PackageIdPassedToIsReferenced ) ;
464+ Assert . AreEqual ( package . Version , fakeSolutionSharedRepository . VersionPassedToIsReferenced ) ;
465+ }
466+
425467 [ Test ]
426468 public void GetInstallPackageOperations_PackageOperationResolverFactoryUsed_PackageOperationsReturnedFromPackageOperationsResolverCreated ( )
427469 {
428470 CreatePackageManager ( ) ;
429471 var package = new FakePackage ( ) ;
430- var operations = GetInstallPackageOperations ( package ) ;
472+ IEnumerable < PackageOperation > operations = GetInstallPackageOperations ( package ) ;
431473
432- var expectedOperations = fakePackageOperationResolverFactory . FakeInstallPackageOperationResolver . PackageOperations ;
474+ IEnumerable < PackageOperation > expectedOperations = fakePackageOperationResolverFactory . FakeInstallPackageOperationResolver . PackageOperations ;
433475
434476 Assert . AreEqual ( expectedOperations , operations ) ;
435477 }
@@ -441,8 +483,8 @@ public void GetInstallPackageOperations_PackageOperationResolverFactoryUsed_Pack
441483 var package = new FakePackage ( ) ;
442484 GetInstallPackageOperations ( package ) ;
443485
444- var expectedRepository = packageManager . LocalRepository ;
445- var actualRepository = fakePackageOperationResolverFactory . LocalRepositoryPassedToCreateInstallPackageOperationsResolver ;
486+ IPackageRepository expectedRepository = packageManager . LocalRepository ;
487+ IPackageRepository actualRepository = fakePackageOperationResolverFactory . LocalRepositoryPassedToCreateInstallPackageOperationsResolver ;
446488
447489 Assert . AreEqual ( expectedRepository , actualRepository ) ;
448490 }
@@ -454,8 +496,8 @@ public void GetInstallPackageOperations_PackageOperationResolverFactoryUsed_Pack
454496 var package = new FakePackage ( ) ;
455497 GetInstallPackageOperations ( package ) ;
456498
457- var expectedRepository = packageManager . SourceRepository ;
458- var actualRepository = fakePackageOperationResolverFactory . SourceRepositoryPassedToCreateInstallPackageOperationsResolver ;
499+ IPackageRepository expectedRepository = packageManager . SourceRepository ;
500+ IPackageRepository actualRepository = fakePackageOperationResolverFactory . SourceRepositoryPassedToCreateInstallPackageOperationsResolver ;
459501
460502 Assert . AreEqual ( expectedRepository , actualRepository ) ;
461503 }
@@ -467,7 +509,7 @@ public void GetInstallPackageOperations_PackageOperationResolverFactoryUsed_Depe
467509 var package = new FakePackage ( ) ;
468510 GetInstallPackageOperations ( package ) ;
469511
470- var result = fakePackageOperationResolverFactory . IgnoreDependenciesPassedToCreateInstallPackageOperationResolver ;
512+ bool result = fakePackageOperationResolverFactory . IgnoreDependenciesPassedToCreateInstallPackageOperationResolver ;
471513
472514 Assert . IsFalse ( result ) ;
473515 }
@@ -479,8 +521,8 @@ public void GetInstallPackageOperations_PackageOperationResolverFactoryUsed_Pack
479521 var package = new FakePackage ( ) ;
480522 GetInstallPackageOperations ( package ) ;
481523
482- var expectedLogger = packageManager . Logger ;
483- var actualLogger = fakePackageOperationResolverFactory . LoggerPassedToCreateInstallPackageOperationResolver ;
524+ ILogger expectedLogger = packageManager . Logger ;
525+ ILogger actualLogger = fakePackageOperationResolverFactory . LoggerPassedToCreateInstallPackageOperationResolver ;
484526
485527 Assert . AreEqual ( expectedLogger , actualLogger ) ;
486528 }
@@ -492,7 +534,7 @@ public void GetInstallPackageOperations_PackageOperationResolverFactoryUsed_Pack
492534 var package = new FakePackage ( ) ;
493535 GetInstallPackageOperations ( package ) ;
494536
495- var actualPackage = fakePackageOperationResolverFactory
537+ IPackage actualPackage = fakePackageOperationResolverFactory
496538 . FakeInstallPackageOperationResolver
497539 . PackagePassedToResolveOperations ;
498540
@@ -515,7 +557,7 @@ public void UpdatePackage_PackageInstanceAndNoPackageOperationsPassed_UpdatesRef
515557 {
516558 CreatePackageManager ( ) ;
517559 CreateTestableProjectManager ( ) ;
518- var package = UpdatePackageWithNoPackageOperations ( ) ;
560+ FakePackage package = UpdatePackageWithNoPackageOperations ( ) ;
519561
520562 Assert . AreEqual ( package , testableProjectManager . PackagePassedToUpdatePackageReference ) ;
521563 }
@@ -525,7 +567,7 @@ public void UpdatePackage_PackageInstanceAndNoPackageOperationsPassed_UpdatesDep
525567 {
526568 CreatePackageManager ( ) ;
527569 CreateTestableProjectManager ( ) ;
528- var package = UpdatePackageWithNoPackageOperations ( ) ;
570+ FakePackage package = UpdatePackageWithNoPackageOperations ( ) ;
529571
530572 Assert . IsTrue ( testableProjectManager . UpdateDependenciesPassedToUpdatePackageReference ) ;
531573 }
0 commit comments