public void TestExecute() { var managerMock = new Mock <InstallationManager> { CallBase = true, }; manager = managerMock.Object; var operationInstall = new OperationInstall(package.Object); var operationUninstall = new OperationUninstall(package.Object); var operationUpdate = new OperationUpdate(package.Object, package.Object); package.Setup((o) => o.GetPackageType()).Returns("foo"); repository.SetupSequence((o) => o.HasPackage(package.Object)) .Returns(false).Returns(true).Returns(true).Returns(false); manager.AddInstaller(new InstallerNoop()); manager.Execute(repository.Object, operationInstall); manager.Execute(repository.Object, operationUninstall); manager.Execute(repository.Object, operationUpdate); managerMock.Protected().Verify("Install", Times.Once(), repository.Object, operationInstall); managerMock.Protected().Verify("Uninstall", Times.Once(), repository.Object, operationUninstall); managerMock.Protected().Verify("Update", Times.Once(), repository.Object, operationUpdate); }
public void TestInstall() { var operationInstall = new OperationInstall(package.Object); package.Setup((o) => o.GetPackageType()).Returns("foo"); installer.Setup((o) => o.IsSupports("foo")).Returns(true); manager.AddInstaller(installer.Object); manager.Execute(repository.Object, operationInstall); installer.Verify((o) => o.Install(repository.Object, package.Object)); }