ReflectionAssertions { public static OperationPhase assertReflectiveThat(Object actual) { return new ModePhase().that(actual); }  static ModePhase assertReflective(); static OperationPhase assertReflectiveThat(Object actual); static OperationPhase assertLenientThat(Object actual);  }
@TestFactory @DisplayName("Strict Equals") Stream<? extends DynamicNode> strictEquals() { return Stream.<Generator>of( this::nulls, this::simple, this::equivalence, this::overriddenEquals, this::collections, this::optionals, this::differentClasses, this::oldDates, this::java8Dates ).map(generator -> generator.generate( sample -> assertReflectiveThat(sample.actual).isEqualTo(sample.expected), sample -> assertFailing( () -> assertReflectiveThat(sample.actual).isEqualTo(sample.expected) ) )); }
@TestFactory @DisplayName("Strict Not Equals") Stream<? extends DynamicNode> strictNotEquals() { return Stream.<Generator>of( this::nulls, this::simple, this::equivalence, this::overriddenEquals, this::collections, this::optionals, this::differentClasses, this::oldDates, this::java8Dates ).map(generator -> generator.generate( sample -> assertFailing( () -> assertReflectiveThat(sample.actual).isNotEqualTo(sample.expected) ), sample -> assertReflectiveThat(sample.actual).isNotEqualTo(sample.expected) )); }