def test_sessions_after_each(self): self.run_trigger_simple( Sessions(10), # pyformat break AfterEach(AfterCount(2), AfterCount(3)), AccumulationMode.ACCUMULATING, zip(range(10), 'abcdefghij'), {IntervalWindow(0, 11): [set('ab')], IntervalWindow(0, 15): [set('abcdef')]}, 2) self.run_trigger_simple( Sessions(10), # pyformat break Repeatedly(AfterEach(AfterCount(2), AfterCount(3))), AccumulationMode.ACCUMULATING, zip(range(10), 'abcdefghij'), {IntervalWindow(0, 11): [set('ab')], IntervalWindow(0, 15): [set('abcdef')], IntervalWindow(0, 17): [set('abcdefgh')]}, 2)
def test_after_each_all_safe(self): self._test(AfterEach(Repeatedly(AfterCount(1)), DefaultTrigger()), 0, DataLossReason.NO_POTENTIAL_LOSS)
def test_after_each_all_may_finish(self): self._test(AfterEach(AfterCount(1), AfterCount(2), AfterCount(3)), 0, DataLossReason.MAY_FINISH)
def test_after_each_some_unsafe(self): self._test(AfterEach(AfterCount(1), DefaultTrigger()), 0, DataLossReason.MAY_FINISH)
def test_after_each_at_least_one_safe(self): self._test(AfterEach(AfterCount(1), DefaultTrigger(), AfterCount(2)), 0, DataLossReason.NO_POTENTIAL_LOSS)