public TheStopMethod() { var timeEntries = new List <IDatabaseTimeEntry> { DatabaseTimeEntry, DatabaseTimeEntry.With(DateTimeOffset.UtcNow), DatabaseTimeEntry.With(DateTimeOffset.UtcNow), DatabaseTimeEntry.With(DateTimeOffset.UtcNow) }; Repository .GetAll(Arg.Any <Func <IDatabaseTimeEntry, bool> >()) .Returns(callInfo => Observable .Return(timeEntries) .Select(x => x.Where(callInfo.Arg <Func <IDatabaseTimeEntry, bool> >()))); }
public TheStopMethod() { long duration = (long)(DateTimeOffset.UtcNow - DatabaseTimeEntry.Start).TotalSeconds; var timeEntries = new List <IDatabaseTimeEntry> { DatabaseTimeEntry, DatabaseTimeEntry.With(duration), DatabaseTimeEntry.With(duration), DatabaseTimeEntry.With(duration) }; Repository .GetAll(Arg.Any <Func <IDatabaseTimeEntry, bool> >()) .Returns(callInfo => Observable .Return(timeEntries) .Select(x => x.Where(callInfo.Arg <Func <IDatabaseTimeEntry, bool> >()))); }
public void ThrowsIfThereAreNoRunningTimeEntries() { var timeEntries = new List <IDatabaseTimeEntry> { DatabaseTimeEntry.With(DateTimeOffset.UtcNow), DatabaseTimeEntry.With(DateTimeOffset.UtcNow), DatabaseTimeEntry.With(DateTimeOffset.UtcNow) }; Repository .GetAll(Arg.Any <Func <IDatabaseTimeEntry, bool> >()) .Returns(callInfo => Observable .Return(timeEntries) .Select(x => x.Where(callInfo.Arg <Func <IDatabaseTimeEntry, bool> >()))); var observer = new TestScheduler().CreateObserver <ITimeEntry>(); var observable = TimeEntriesSource.Stop(ValidTime); observable.Subscribe(observer); observer.Messages.Single().Value.Exception.Should().BeOfType <InvalidOperationException>(); }