### Question:
JsonRecoverySchemeSerialiser implements RecoverySchemeSerialiser { @Override @Nonnull public Single<Boolean> isValidSerialisation(@Nonnull final String serialisedScheme) { checkNotNull(serialisedScheme, "\'serialisedScheme\' must not be null."); return deserialise(serialisedScheme) .flatMap(result -> Single.just(true)) .onErrorResumeNext(Single.just(false)); }  @Override @Nonnull Single<String> serialise(@Nonnull final RecoveryScheme scheme); @Override @Nonnull Single<RecoveryScheme> deserialise(@Nonnull final String serialisedScheme); @Override @Nonnull Single<Boolean> isValidSerialisation(@Nonnull final String serialisedScheme);  }### Answer:
@Test(expected = IllegalArgumentException.class) public void testIsValidSerialisation_nullSerialisedScheme() { serialiser.isValidSerialisation(null); }
@Test public void testIsValidSerialisation_emptySerialisedScheme() { serialiser .isValidSerialisation("") .test() .awaitDone(200, MILLISECONDS) .assertNoErrors() .assertValue(false); }
@Test public void testIsValidSerialisation_malformedInput() { serialiser .isValidSerialisation("Hello, World!") .test() .awaitDone(200, MILLISECONDS) .assertNoErrors() .assertValue(false); }