private static void assertNoErrors(Event... events) { CheckerTestUtils.assertNoErrors(NemesisResilienceChecker::new, events); }
public static void assertNoErrors(Supplier<Checker> checker, Event... events) { assertNoErrors(checker, ImmutableList.copyOf(events)); }
private static void assertNoError(List<Event> events) { CheckerTestUtils.assertNoErrors(() -> new PartitionByInvokeNameCheckerHelper(IsolatedProcessCorrectnessChecker::new), events); } }
private static void assertNoError(List<Event> events) { CheckerTestUtils.assertNoErrors(() -> new PartitionByInvokeNameCheckerHelper(LockCorrectnessChecker::new), events); } }
private static void assertNoError(List<Event> events) { CheckerTestUtils.assertNoErrors(() -> new PartitionByInvokeNameCheckerHelper(RefreshCorrectnessChecker::new), events); } }
private static void assertNoError(Supplier<Checker> checker, List<Event> events) { CheckerTestUtils.assertNoErrors(() -> new PartitionByInvokeNameCheckerHelper(checker), events); } }
@Test public void shouldParseLongValues() { Event event1 = TestEventUtils.timestampOk(ZERO_TIME, PROCESS_0, INT_MAX_PLUS_ONE); CheckerTestUtils.assertNoErrors(MonotonicChecker::new, event1); }
@Test public void shouldParseLongValues() { long time = 0; Event event1 = TestEventUtils.invokeTimestamp(time++, PROCESS_0); Event event2 = TestEventUtils.timestampOk(time++, PROCESS_0, INT_MAX_PLUS_ONE.toString()); Event event3 = TestEventUtils.invokeTimestamp(time++, PROCESS_0); Event event4 = TestEventUtils.timestampOk(time++, PROCESS_0, INT_MAX_PLUS_TWO.toString()); CheckerTestUtils.assertNoErrors(NonOverlappingReadsMonotonicChecker::new, event1, event2, event3, event4); }
@Test public void shouldSucceedOnUniqueValues() { Event event1 = TestEventUtils.timestampOk(ZERO_TIME, PROCESS_0, VALUE_A); Event event2 = TestEventUtils.timestampOk(ZERO_TIME, PROCESS_0, VALUE_B); CheckerTestUtils.assertNoErrors(UniquenessChecker::new, event1, event2); }
@Test public void failureShouldNegateInvokeOnOneProcess() { long time = 0; Event event1 = TestEventUtils.invokeTimestamp(time++, PROCESS_0); Event event2 = TestEventUtils.createFailEvent(time++, PROCESS_0); Event event3 = TestEventUtils.invokeTimestamp(time++, PROCESS_0); Event event4 = TestEventUtils.timestampOk(time++, PROCESS_0, "1"); CheckerTestUtils.assertNoErrors(NonOverlappingReadsMonotonicChecker::new, event1, event2, event3, event4); }
@Test public void shouldSucceedOnTwoProcessesOverlapping() { Event event1 = TestEventUtils.timestampOk(ZERO_TIME, PROCESS_0, "1"); Event event2 = TestEventUtils.timestampOk(ZERO_TIME, PROCESS_1, "2"); Event event3 = TestEventUtils.timestampOk(ZERO_TIME, PROCESS_0, "4"); Event event4 = TestEventUtils.timestampOk(ZERO_TIME, PROCESS_1, "3"); CheckerTestUtils.assertNoErrors(MonotonicChecker::new, event1, event2, event3, event4); }
@Test public void shouldSucceedOnOverlappingReadsOnTwoProcesses() { long time = 0; Event event1 = TestEventUtils.invokeTimestamp(time++, PROCESS_0); Event event2 = TestEventUtils.invokeTimestamp(time++, PROCESS_1); Event event3 = TestEventUtils.timestampOk(time++, PROCESS_0, "1"); Event event4 = TestEventUtils.timestampOk(time++, PROCESS_1, "0"); CheckerTestUtils.assertNoErrors(NonOverlappingReadsMonotonicChecker::new, event1, event2, event3, event4); }
@Test public void shouldIgnoreFailureOnOtherProcess() { long time = 0; Event event1 = TestEventUtils.invokeTimestamp(time++, PROCESS_0); Event event2 = TestEventUtils.createFailEvent(time++, PROCESS_0); Event event3 = TestEventUtils.invokeTimestamp(time++, PROCESS_1); Event event4 = TestEventUtils.timestampOk(time++, PROCESS_1, "1"); CheckerTestUtils.assertNoErrors(NonOverlappingReadsMonotonicChecker::new, event1, event2, event3, event4); }
@Test public void shouldIgnoreOverlappingFailure() { long time = 0; Event event1 = TestEventUtils.invokeTimestamp(time++, PROCESS_0); Event event3 = TestEventUtils.invokeTimestamp(time++, PROCESS_1); Event event2 = TestEventUtils.createFailEvent(time++, PROCESS_0); Event event4 = TestEventUtils.timestampOk(time++, PROCESS_1, "1"); CheckerTestUtils.assertNoErrors(NonOverlappingReadsMonotonicChecker::new, event1, event2, event3, event4); }