### Question:
JsonShareSerialiser implements ShareSerialiser { @Override @Nonnull public Single<Boolean> isValidSerialisation(@Nonnull final String serialisedShare) { checkNotNull(serialisedShare, "\'serialisedShare\' must not be null."); return deserialise(serialisedShare) .flatMap(result -> Single.just(true)) .onErrorResumeNext(Single.just(false)); }  @Override @Nonnull Single<String> serialise(@Nonnull final Share share); @Override @Nonnull Single<Share> deserialise(@Nonnull final String serialisedShare); @Override @Nonnull Single<Boolean> isValidSerialisation(@Nonnull final String serialisedShare);  }### Answer:
@Test(expected = IllegalArgumentException.class) public void testIsValidSerialisation_nullSerialisedShare() { serialiser.isValidSerialisation(null); }
@Test public void testIsValidSerialisation_emptySerialisedShare() { 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); }