public void Subscribe_EmptyObservableNeverTriggersInspection() { var durableJobStorage = A.Fake <IDurableJobQueue <int, object> >(); var jobResultInspector = A.Fake <IJobResultInspector <int, int, object> >(); var observable = new JobResult <int, int>[] { }.ToObservable(); using (var writer = new JobResultJournalWriter <int, int, object>(observable, jobResultInspector, durableJobStorage, A.Fake <ILog>(), Scheduler.Immediate)) { A.CallTo(() => jobResultInspector.Inspect(A <JobResult <int, int> > .Ignored)).MustNotHaveHappened(); } }
public void Subscribe_NullNotificationTriggersLogging() { var durableJobStorage = A.Fake <IDurableJobQueue <int, object> >(); var jobResultInspector = A.Fake <IJobResultInspector <int, int, object> >(); var results = new JobResult <int, int>[] { null }; var observable = results.ToObservable(); var log = A.Fake <ILog>(); using (var writer = new JobResultJournalWriter <int, int, object>(observable, jobResultInspector, durableJobStorage, log, Scheduler.Immediate)) { A.CallTo(() => log.Error(CultureInfo.CurrentCulture, A <Action <FormatMessageHandler> > .Ignored)) .MustHaveHappened(Repeated.Exactly.Times(results.Count(n => null == n))); } }
public void Subscribe_IgnoresNullNotifications() { var durableJobStorage = A.Fake <IDurableJobQueue <int, object> >(); var jobResultInspector = A.Fake <IJobResultInspector <int, int, object> >(); var items = new JobResult <int, int>[] { null, new JobResult <int, int>(1, 1), null, null, new JobResult <int, int>(1, 1) }; var observable = items.ToObservable(); using (var queue = new JobResultJournalWriter <int, int, object>(observable, jobResultInspector, durableJobStorage, A.Fake <ILog>(), Scheduler.Immediate)) { A.CallTo(() => jobResultInspector.Inspect(A <JobResult <int, int> > .Ignored)) .MustHaveHappened(Repeated.Exactly.Times(items.Count(n => null != n))); } }
public void Subscribe_NullNotificationTriggersLogging() { var durableJobStorage = A.Fake<IDurableJobQueue<int, object>>(); var jobResultInspector = A.Fake<IJobResultInspector<int, int, object>>(); var results = new JobResult<int, int>[] { null }; var observable = results.ToObservable(); var log = A.Fake<ILog>(); using (var writer = new JobResultJournalWriter<int, int, object>(observable, jobResultInspector, durableJobStorage, log, Scheduler.Immediate)) { A.CallTo(() => log.Error(CultureInfo.CurrentCulture, A<Action<FormatMessageHandler>>.Ignored)) .MustHaveHappened(Repeated.Exactly.Times(results.Count(n => null == n))); } }
public void Subscribe_NonemptyObservableTriggersInspection() { var durableJobStorage = A.Fake<IDurableJobQueue<int, object>>(); var jobResultInspector = A.Fake<IJobResultInspector<int, int, object>>(); var observable = new [] { new JobResult<int, int>(1, 1) }.ToObservable(); using (var writer = new JobResultJournalWriter<int, int, object>(observable, jobResultInspector, durableJobStorage, A.Fake<ILog>(), Scheduler.Immediate)) { A.CallTo(() => jobResultInspector.Inspect(A<JobResult<int, int>>.Ignored)).MustHaveHappened(Repeated.Exactly.Once); } }
public void Subscribe_IgnoresNullNotifications() { var durableJobStorage = A.Fake<IDurableJobQueue<int, object>>(); var jobResultInspector = A.Fake<IJobResultInspector<int, int, object>>(); var items = new JobResult<int, int>[] { null, new JobResult<int, int>(1, 1), null, null, new JobResult<int, int>(1, 1) }; var observable = items.ToObservable(); using (var queue = new JobResultJournalWriter<int, int, object>(observable, jobResultInspector, durableJobStorage, A.Fake<ILog>(), Scheduler.Immediate)) { A.CallTo(() => jobResultInspector.Inspect(A<JobResult<int, int>>.Ignored)) .MustHaveHappened(Repeated.Exactly.Times(items.Count(n => null != n))); } }
public void Constructor_ThrowsOnNullObservable() { Assert.Throws<ArgumentNullException>(() => { using (var j = new JobResultJournalWriter<int, int, object>(null as IObservable<JobResult<int, int>>, A.Fake<IJobResultInspector<int, int, object>>(), A.Fake<IDurableJobQueue<int, object>>())) {} }); }
public void Constructor_ThrowsOnNullObservable() { Assert.Throws <ArgumentNullException>(() => { using (var j = new JobResultJournalWriter <int, int, object>(null as IObservable <JobResult <int, int> >, A.Fake <IJobResultInspector <int, int, object> >(), A.Fake <IDurableJobQueue <int, object> >())) {} }); }