### Question:
ResourceDeleted extends AbstractPolicyEvent<ResourceDeleted> implements PolicyEvent<ResourceDeleted> { @Deprecated public static ResourceDeleted of(final String policyId, final Label label, final ResourceKey resourceKey, final long revision, final DittoHeaders dittoHeaders) { return of(PolicyId.of(policyId), label, resourceKey, revision, dittoHeaders); } private  ResourceDeleted(final PolicyId policyId,
            final Label label,
            final ResourceKey resourceKey,
            final long revision,
            @Nullable final Instant timestamp,
            final DittoHeaders dittoHeaders); @Deprecated static ResourceDeleted of(final String policyId,
            final Label label,
            final ResourceKey resourceKey,
            final long revision,
            final DittoHeaders dittoHeaders); static ResourceDeleted of(final PolicyId policyId,
            final Label label,
            final ResourceKey resourceKey,
            final long revision,
            final DittoHeaders dittoHeaders); @Deprecated static ResourceDeleted of(final String policyId,
            final Label label,
            final ResourceKey resourceKey,
            final long revision,
            @Nullable final Instant timestamp,
            final DittoHeaders dittoHeaders); static ResourceDeleted of(final PolicyId policyId,
            final Label label,
            final ResourceKey resourceKey,
            final long revision,
            @Nullable final Instant timestamp,
            final DittoHeaders dittoHeaders); static ResourceDeleted fromJson(final String jsonString, final DittoHeaders dittoHeaders); static ResourceDeleted fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders); Label getLabel(); ResourceKey getResourceKey(); @Override JsonPointer getResourcePath(); @Override ResourceDeleted setRevision(final long revision); @Override ResourceDeleted setDittoHeaders(final DittoHeaders dittoHeaders); @SuppressWarnings("squid:S109") @Override int hashCode(); @SuppressWarnings("squid:MethodCyclomaticComplexity") @Override boolean equals(@Nullable final Object o); @Override String toString(); static final String NAME; static final String TYPE; }### Answer:
@Test(expected = PolicyIdInvalidException.class) public void tryToCreateInstanceWithNullPolicyIdString() { ResourceDeleted.of((String) null, TestConstants.Policy.LABEL, TestConstants.Policy.RESOURCE_KEY, TestConstants.Policy.REVISION_NUMBER, TestConstants.EMPTY_DITTO_HEADERS); }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullPolicyId() { ResourceDeleted.of((PolicyId) null, TestConstants.Policy.LABEL, TestConstants.Policy.RESOURCE_KEY, TestConstants.Policy.REVISION_NUMBER, TestConstants.EMPTY_DITTO_HEADERS); }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullLabel() { ResourceDeleted.of(TestConstants.Policy.POLICY_ID, null, TestConstants.Policy.RESOURCE_KEY, TestConstants.Policy.REVISION_NUMBER, TestConstants.EMPTY_DITTO_HEADERS); }
@Test(expected = NullPointerException.class) public void tryToCreateInstanceWithNullResource() { ResourceDeleted.of(TestConstants.Policy.POLICY_ID, TestConstants.Policy.LABEL, null, TestConstants.Policy.REVISION_NUMBER, TestConstants.EMPTY_DITTO_HEADERS); }
@Test public void toJsonReturnsExpected() { final ResourceDeleted underTest = ResourceDeleted.of(TestConstants.Policy.POLICY_ID, TestConstants.Policy.LABEL, TestConstants.Policy.RESOURCE_KEY, TestConstants.Policy.REVISION_NUMBER, TestConstants.TIMESTAMP, TestConstants.EMPTY_DITTO_HEADERS); final JsonObject actualJson = underTest.toJson(FieldType.regularOrSpecial()); assertThat(actualJson).isEqualTo(KNOWN_JSON); }