public void Dispose() { if (state.TryIncreaseTo(Disposed)) { environmentsStorage.Dispose(); applicationsStorage.Dispose(); updateCacheSignal.Set(); updateCacheTask?.GetAwaiter().GetResult(); eventsQueue.Dispose(); } }
public void Should_not_handle_new_events_after_dispose() { var queue = new ActionsQueue(log); queue.Dispose(); var tmp = false; queue.Enqueue(() => tmp = true); Action action = () => tmp.Should().BeFalse(); action.ShouldNotFailIn(defaultTimeout); }
public void Should_not_handle_enqueued_actions_after_dispose() { var queue = new ActionsQueue(log); var tmp = 1; queue.Enqueue( () => { tmp = 2; Thread.Sleep(defaultTimeout - 100.Milliseconds()); }); queue.Enqueue(() => tmp = 4); Action waitStartAction = () => tmp.Should().Be(2); waitStartAction.ShouldPassIn(50.Milliseconds()); queue.Dispose(); Action action2 = () => tmp.Should().Be(2); action2.ShouldNotFailIn(defaultTimeout + 100.Milliseconds()); }
public void OneTimeTearDown() { Ensemble.Dispose(); EventsQueue.Dispose(); }