public void UpdateAllPackagesCommand_ExceptionThrownWhenUpdatingAllPackages_ExceptionLogged()
		{
			var actionRunner =  new ExceptionThrowingPackageActionRunner();
			CreateViewModel(actionRunner);
			ViewModelHasTwoPackagesThatCanBeUpdatedAfterReadingPackages();
			var exception = new Exception("Exception error message");
			actionRunner.ExceptionToThrow = exception;
			
			RunUpdateAllPackagesCommand();
			
			string actualMessage = fakePackageManagementEvents.FormattedStringPassedToOnPackageOperationMessageLogged;
			bool containsExceptionErrorMessage = actualMessage.Contains("Exception error message");
			Assert.IsTrue(containsExceptionErrorMessage, actualMessage);
			Assert.AreEqual(MessageLevel.Error, fakePackageManagementEvents.MessageLevelPassedToOnPackageOperationMessageLogged);
		}
		public void UpdateAllPackagesCommand_ExceptionThrownWhenUpdatingAllPackages_ExceptionReported()
		{
			var actionRunner =  new ExceptionThrowingPackageActionRunner();
			CreateViewModel(actionRunner);
			ViewModelHasTwoPackagesThatCanBeUpdatedAfterReadingPackages();
			var exception = new Exception("test");
			actionRunner.ExceptionToThrow = exception;
			
			RunUpdateAllPackagesCommand();
			
			Assert.AreEqual(exception, packageViewModelFactory.FakePackageManagementEvents.ExceptionPassedToOnPackageOperationError);
		}