コード例 #1
0
        public void ReturnsSuccessfulTransitionWhenEverythingWorks()
        {
            var state       = (DeleteEntityState <ITestModel, IDatabaseTestModel, IThreadSafeTestModel>)CreateState();
            var dirtyEntity = new TestModel(-1, SyncStatus.SyncNeeded);

            api.Delete(Arg.Any <ITestModel>())
            .Returns(Observable.Return(Unit.Default));
            dataSource.Delete(Arg.Any <long>())
            .Returns(Observable.Return(Unit.Default));

            var transition = state.Start(dirtyEntity).SingleAsync().Wait();

            transition.Result.Should().Be(state.DeletingFinished);
        }
コード例 #2
0
 private IObservable <Unit> delete(TModel entity)
 => entity == null
         ? Observable.Throw <Unit>(new ArgumentNullException(nameof(entity)))
         : limiter.WaitForFreeSlot()
 .ThenExecute(() => api.Delete(entity));
コード例 #3
0
 private IObservable <Unit> delete(TModel entity)
 => entity == null
         ? Observable.Throw <Unit>(new ArgumentNullException(nameof(entity)))
         : api.Delete(entity);