@Test
public void testHashcode() {

    TsMoniker provided = TsMoniker.createProvidedMoniker("ABC", "123");
    assertThat(provided.hashCode())
            .isEqualTo(TsMoniker.createProvidedMoniker("ABC", "123").hashCode())
            .isNotEqualTo(TsMoniker.createProvidedMoniker("ABC", "xxx").hashCode())
            .isNotEqualTo(TsMoniker.createProvidedMoniker("xxx", "123").hashCode())
            .isNotEqualTo(TsMoniker.createAnonymousMoniker().hashCode())
            .isNotEqualTo(TsMoniker.createDynamicMoniker().hashCode())
            .isNotEqualTo(TsMoniker.createProvidedMoniker("", "").hashCode());
    TsMoniker anonymous = TsMoniker.createAnonymousMoniker();
    assertThat(anonymous.hashCode())
            .isEqualTo(anonymous.hashCode())
            .isNotEqualTo(TsMoniker.createAnonymousMoniker().hashCode())
            .isNotEqualTo(TsMoniker.createDynamicMoniker().hashCode())
            .isNotEqualTo(TsMoniker.createProvidedMoniker("", "").hashCode());
    TsMoniker dynamic = TsMoniker.createDynamicMoniker();
    assertThat(dynamic.hashCode())
            .isEqualTo(dynamic.hashCode())
            .isNotEqualTo(TsMoniker.createAnonymousMoniker().hashCode())
            .isNotEqualTo(TsMoniker.createDynamicMoniker().hashCode())
            .isNotEqualTo(TsMoniker.createProvidedMoniker("", "").hashCode());
}