@Test public void test_concurrent_modifications_in_any_order() throws InterruptedException { for (Runnable runnable : buildShuffleCallsToUnderTest()) { executorService.submit(runnable); } executorService.awaitTermination(1, TimeUnit.SECONDS); assertThat(underTest.getInProgressCount()).isEqualTo(1); assertThat(underTest.getErrorCount()).isEqualTo(17); assertThat(underTest.getSuccessCount()).isEqualTo(80); assertThat(underTest.getProcessingTime()).isEqualTo(177); }
@Test public void addError_any_number_of_call_change_by_1_per_call() { int calls = new Random().nextInt(SOME_RANDOM_MAX); for (int i = 0; i < calls; i++) { getUnderTest().addError(1); } assertThat(getUnderTest().getErrorCount()).isEqualTo(calls); assertThat(getUnderTest().getInProgressCount()).isEqualTo(-calls); assertThat(getUnderTest().getProcessingTime()).isEqualTo(calls); }
@Test public void verify_just_created_instance_metrics() { assertThat(getUnderTest().getInProgressCount()).isEqualTo(0); assertThat(getUnderTest().getErrorCount()).isEqualTo(0); assertThat(getUnderTest().getSuccessCount()).isEqualTo(0); assertThat(getUnderTest().getProcessingTime()).isEqualTo(0); }
@Test public void addInProgress_increases_InProgress() { getUnderTest().addInProgress(); assertThat(getUnderTest().getInProgressCount()).isEqualTo(1); assertThat(getUnderTest().getErrorCount()).isEqualTo(0); assertThat(getUnderTest().getSuccessCount()).isEqualTo(0); assertThat(getUnderTest().getProcessingTime()).isEqualTo(0); }
@Test public void addError_increases_Error_and_decreases_InProgress_by_1_without_check_on_InProgress() { getUnderTest().addError(SOME_PROCESSING_TIME); assertThat(getUnderTest().getInProgressCount()).isEqualTo(-1); assertThat(getUnderTest().getErrorCount()).isEqualTo(1); assertThat(getUnderTest().getSuccessCount()).isEqualTo(0); assertThat(getUnderTest().getProcessingTime()).isEqualTo(SOME_PROCESSING_TIME); }
@Test public void addSuccess_increases_Error_and_decreases_InProgress_by_1_without_check_on_InProgress() { getUnderTest().addSuccess(SOME_PROCESSING_TIME); assertThat(getUnderTest().getInProgressCount()).isEqualTo(-1); assertThat(getUnderTest().getErrorCount()).isEqualTo(0); assertThat(getUnderTest().getSuccessCount()).isEqualTo(1); assertThat(getUnderTest().getProcessingTime()).isEqualTo(SOME_PROCESSING_TIME); }