1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using System;
- using System.Linq;
- namespace UnityEditor.PackageManager.UI.Tests
- {
- internal class MockRemoveOperation : MockOperation, IRemoveOperation
- {
- public new event Action<Error> OnOperationError = delegate { };
- public new event Action OnOperationFinalized = delegate { };
- public event Action<PackageInfo> OnOperationSuccess = delegate { };
- public PackageInfo PackageInfo { get; set; }
- public MockRemoveOperation(MockOperationFactory factory) : base(factory)
- {
- }
- public void RemovePackageAsync(PackageInfo packageInfo, Action<PackageInfo> doneCallbackAction, Action<Error> errorCallbackAction = null)
- {
- if (ForceError != null)
- {
- if (errorCallbackAction != null)
- errorCallbackAction(ForceError);
- IsCompleted = true;
- OnOperationError(ForceError);
- OnOperationFinalized();
- return;
- }
- Factory.Packages = (from package in Factory.Packages
- where package.PackageId.ToLower() != packageInfo.PackageId.ToLower()
- select package);
- if (doneCallbackAction != null)
- doneCallbackAction(packageInfo);
- IsCompleted = true;
- OnOperationSuccess(packageInfo);
- OnOperationFinalized();
- }
-
- internal void ResetEvents()
- {
- OnOperationError = delegate { };
- OnOperationFinalized = delegate { };
- OnOperationSuccess = delegate { };
- }
- }
- }
|