### Question:
ThingDeleted extends AbstractThingEvent<ThingDeleted> implements ThingModifiedEvent<ThingDeleted> { @Deprecated public static ThingDeleted of(final String thingId, final long revision, final DittoHeaders dittoHeaders) { return of(ThingId.of(thingId), revision, null, dittoHeaders, null); } private  ThingDeleted(final ThingId thingId,
            final long revision,
            @Nullable final Instant timestamp,
            final DittoHeaders dittoHeaders,
            @Nullable final Metadata metadata); @Deprecated static ThingDeleted of(final String thingId,
            final long revision,
            final DittoHeaders dittoHeaders); @Deprecated static ThingDeleted of(final ThingId thingId,
            final long revision,
            final DittoHeaders dittoHeaders); @Deprecated static ThingDeleted of(final String thingId,
            final long revision,
            @Nullable final Instant timestamp,
            final DittoHeaders dittoHeaders); @Deprecated static ThingDeleted of(final ThingId thingId,
            final long revision,
            @Nullable final Instant timestamp,
            final DittoHeaders dittoHeaders); static ThingDeleted of(final ThingId thingId,
            final long revision,
            @Nullable final Instant timestamp,
            final DittoHeaders dittoHeaders,
            @Nullable final Metadata metadata); static ThingDeleted fromJson(final String jsonString, final DittoHeaders dittoHeaders); static ThingDeleted fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders); @Override JsonPointer getResourcePath(); @Override ThingDeleted setRevision(final long revision); @Override ThingDeleted setDittoHeaders(final DittoHeaders dittoHeaders); @Override String toString(); static final String NAME; static final String TYPE; }### Answer:
@Test(expected = ThingIdInvalidException.class) public void tryToCreateInstanceWithNullThingIdString() { ThingDeleted.of((String) null, TestConstants.Thing.REVISION_NUMBER, TestConstants.EMPTY_DITTO_HEADERS); }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullThingId() { ThingDeleted.of((ThingId) null, TestConstants.Thing.REVISION_NUMBER, TestConstants.EMPTY_DITTO_HEADERS); }
@Test public void toJsonReturnsExpected() { final ThingDeleted underTest = ThingDeleted.of(TestConstants.Thing.THING_ID, TestConstants.Thing.REVISION_NUMBER, TestConstants.TIMESTAMP, TestConstants.EMPTY_DITTO_HEADERS, TestConstants.METADATA); final JsonObject actualJson = underTest.toJson(FieldType.regularOrSpecial()); assertThat(actualJson).isEqualTo(KNOWN_JSON); }