### Question:
StandardId implements Comparable<StandardId>, ImmutableBean, Serializable { public static StandardId of(String scheme, String value) { return new StandardId(scheme, value); } @ImmutableConstructor private  StandardId(String scheme, String value); static StandardId of(String scheme, String value); @FromString static StandardId parse(String str); static String encodeScheme(String scheme); @Override int compareTo(StandardId other); @Override boolean equals(Object obj); @Override int hashCode(); @Override @ToString String toString(); static StandardId.Meta meta(); @Override StandardId.Meta metaBean(); String getScheme(); String getValue();  }### Answer:
@Test public void test_factory_String_String_nullScheme() { assertThatIllegalArgumentException().isThrownBy(() -> StandardId.of(null, "value")); }
@Test public void test_factory_String_String_nullValue() { assertThatIllegalArgumentException().isThrownBy(() -> StandardId.of("Scheme", null)); }
@Test public void test_factory_String_String_emptyValue() { assertThatIllegalArgumentException().isThrownBy(() -> StandardId.of("Scheme", "")); }
@Test public void test_equals() { StandardId d1a = StandardId.of(SCHEME, "d1"); StandardId d1b = StandardId.of(SCHEME, "d1"); StandardId d2 = StandardId.of(SCHEME, "d2"); StandardId d3 = StandardId.of("Different", "d1"); assertThat(d1a) .isEqualTo(d1a) .isEqualTo(d1b) .isNotEqualTo(d2) .isNotEqualTo(d3) .isNotEqualTo("") .isNotEqualTo(null) .hasSameHashCodeAs(d1b); }
@Test public void test_comparisonByScheme() { StandardId id1 = StandardId.of(SCHEME, "123"); StandardId id2 = StandardId.of(OTHER_SCHEME, "234"); assertThat(id1).isGreaterThan(id2); }
@Test public void test_comparisonWithSchemeSame() { StandardId id1 = StandardId.of(SCHEME, "123"); StandardId id2 = StandardId.of(SCHEME, "234"); assertThat(id1).isLessThan(id2); }
@Test public void coverage() { coverImmutableBean(StandardId.of(SCHEME, "123")); }
@Test public void test_serialization() { assertSerialization(StandardId.of(SCHEME, "123")); }