private IModelRepositoryMod StorageMod(ModActionEnum action) { var storageMod = AutoselectTests.FromAction(action); var selection = new ModSelectionStorageMod(storageMod); var mock = new Mock <IModelRepositoryMod>(MockBehavior.Strict); mock.Setup(m => m.GetCurrentSelection()).Returns(selection); mock.Setup(m => m.State).Returns(LoadingState.Loaded); var matchHash = TestUtils.GetMatchHash(1).Result; var versionHash = TestUtils.GetVersionHash(1).Result; mock.Setup(m => m.GetMatchHash()).Returns(matchHash); mock.Setup(m => m.GetVersionHash()).Returns(versionHash); return(mock.Object); }
internal static IModelStorageMod FromAction(ModActionEnum actionType, bool canWrite = true) { var storageMod = actionType switch { ModActionEnum.Update => new MockModelStorageMod(1, 2, StorageModStateEnum.Created), ModActionEnum.ContinueUpdate => new MockModelStorageMod(1, 1, StorageModStateEnum.CreatedWithUpdateTarget), ModActionEnum.Await => new MockModelStorageMod(1, 1, StorageModStateEnum.Updating), ModActionEnum.Use => new MockModelStorageMod(1, 1, StorageModStateEnum.Created), ModActionEnum.AbortAndUpdate => new MockModelStorageMod(1, 2, StorageModStateEnum.CreatedWithUpdateTarget), ModActionEnum.AbortActiveAndUpdate => new MockModelStorageMod(1, 2, StorageModStateEnum.Updating), ModActionEnum.Unusable => new MockModelStorageMod(2, 2, StorageModStateEnum.Created), _ => throw new ArgumentOutOfRangeException(nameof(actionType), actionType, null) }; storageMod.CanWrite = canWrite; // just checking that we got the setup right var testRepoMod = new MockModelRepositoryMod(1, 1); Assert.Equal(actionType, CoreCalculation.GetModAction(testRepoMod, storageMod)); return(storageMod); }
internal SelectMod(IModelStorageMod storageMod, ModActionEnum actionType) { StorageMod = storageMod; ActionType = actionType; Name = storageMod.GetTitle(); }