@Test public void getQualifiers() throws Exception { assertThat(foo(1)) .isEqualTo(foo(1)) .isNotEqualTo(foo(2)); assertThat(Qualifiers.getQualifiers(getClass().getDeclaredField("qualifiedField"))) .containsExactly(foo(1)); assertThat(Qualifiers.getQualifiers(getClass().getDeclaredMethod("qualifiedMethod"))) .containsExactly(foo(2)); assertThat(Qualifiers.getQualifiers(getClass().getDeclaredMethod("qualifiedParameter", String.class).getParameters()[0])) .containsExactly(foo(3)); assertThat(Qualifiers.getQualifiers(QualifiedClass.class)) .containsExactly(foo(4)); assertThat(Qualifiers.getQualifiers(QualifiedClass.class.getDeclaredConstructor(String.class).getParameters()[0])) .containsExactly(foo(5)); assertThat(Qualifiers.getQualifiers(getClass().getDeclaredField("twoQualifiers"))) .containsExactlyInAnyOrder(foo(6), bar("six")); }
@Test public void testQualifiedType() { assertThat(QualifiedType.of(String.class).with(NVarchar.class)) .isEqualTo(QualifiedType.of(String.class).with(NVarchar.class)) .hasSameHashCodeAs(QualifiedType.of(String.class).with(NVarchar.class)) .hasToString("@org.jdbi.v3.core.qualifier.NVarchar() java.lang.String"); assertThat(QualifiedType.of(int.class)) .isEqualTo(QualifiedType.of(int.class)) .hasSameHashCodeAs(QualifiedType.of(int.class)) .hasToString("int"); assertThat(QualifiedType.of(new GenericType<List<String>>() {})) .isEqualTo(QualifiedType.of(new GenericType<List<String>>() {})) .hasSameHashCodeAs(QualifiedType.of(new GenericType<List<String>>() {})) .hasToString("java.util.List<java.lang.String>"); assertThat(QualifiedType.of(String.class).with(foo(1), bar("1"))) .isEqualTo(QualifiedType.of(String.class).with(foo(1), bar("1"))) .isEqualTo(QualifiedType.of(String.class).with(bar("1"), foo(1))) .hasSameHashCodeAs(QualifiedType.of(String.class).with(foo(1), bar("1"))) .hasSameHashCodeAs(QualifiedType.of(String.class).with(bar("1"), foo(1))) .isNotEqualTo(QualifiedType.of(int.class).with(bar("1"), foo(1))) .isNotEqualTo(QualifiedType.of(String.class).with(bar("2"), foo(1))) .isNotEqualTo(QualifiedType.of(String.class).with(bar("1"), foo(2))) .isNotEqualTo(QualifiedType.of(String.class).with(foo(1))) .isNotEqualTo(QualifiedType.of(String.class).with(bar("1"))); } }