*/
package org.opendaylight.yangtools.yang.binding;
-import static org.hamcrest.CoreMatchers.allOf;
-import static org.hamcrest.CoreMatchers.endsWith;
import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.hamcrest.CoreMatchers.startsWith;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
assertThat(iae.getCause(), instanceOf(ClassCastException.class));
}
- @Test
- public void testCheckedFieldCastIdentity() {
- assertNull(CodeHelpers.checkFieldCastIdentity(Identity.class, "foo", null));
- assertSame(Identity.class, CodeHelpers.checkFieldCastIdentity(Identity.class, "foo", Identity.class));
- assertSame(DerivedIdentity.class, CodeHelpers.checkFieldCastIdentity(Identity.class, "foo",
- DerivedIdentity.class));
-
- IllegalArgumentException iae = assertThrows(IllegalArgumentException.class,
- () -> CodeHelpers.checkFieldCastIdentity(Identity.class, "foo", new Object()));
- assertThat(iae.getMessage(), allOf(
- startsWith("Invalid input value \"java.lang.Object"),
- endsWith("\" for property \"foo\"")));
-
- iae = assertThrows(IllegalArgumentException.class,
- () -> CodeHelpers.checkFieldCastIdentity(Identity.class, "foo", BaseIdentity.class));
- assertThat(iae.getCause(), instanceOf(ClassCastException.class));
- }
-
@Test
public void testCheckListFieldCast() {
assertNull(CodeHelpers.checkListFieldCast(CodeHelpersTest.class, "foo", null));
assertThat(iae.getCause(), instanceOf(ClassCastException.class));
}
- @Test
- public void testCheckListFieldCastIdentity() {
- assertNull(CodeHelpers.checkListFieldCastIdentity(Identity.class, "foo", null));
- assertSame(List.of(), CodeHelpers.checkListFieldCastIdentity(Identity.class, "foo", List.of()));
-
- final var list = List.of(Identity.class);
- assertSame(list, CodeHelpers.checkListFieldCastIdentity(Identity.class, "foo", list));
- final var derivedList = List.of(DerivedIdentity.class);
- assertSame(derivedList, CodeHelpers.checkListFieldCastIdentity(Identity.class, "foo", derivedList));
-
- IllegalArgumentException iae = assertThrows(IllegalArgumentException.class,
- () -> CodeHelpers.checkListFieldCastIdentity(Identity.class, "foo", Collections.singletonList(null)));
- assertThat(iae.getCause(), instanceOf(NullPointerException.class));
-
- iae = assertThrows(IllegalArgumentException.class,
- () -> CodeHelpers.checkListFieldCastIdentity(Identity.class, "foo", List.of(new Object())));
- assertThat(iae.getCause(), instanceOf(ClassCastException.class));
-
- iae = assertThrows(IllegalArgumentException.class,
- () -> CodeHelpers.checkListFieldCastIdentity(Identity.class, "foo", List.of(BaseIdentity.class)));
- assertThat(iae.getCause(), instanceOf(ClassCastException.class));
- }
-
@Test
public void testCheckSetFieldCast() {
assertNull(CodeHelpers.checkSetFieldCast(CodeHelpersTest.class, "foo", null));
() -> CodeHelpers.checkSetFieldCast(CodeHelpersTest.class, "foo", Set.of(new Object())));
assertThat(iae.getCause(), instanceOf(ClassCastException.class));
}
-
- @Test
- public void testCheckSetFieldCastIdentity() {
- assertNull(CodeHelpers.checkSetFieldCastIdentity(Identity.class, "foo", null));
- assertSame(Set.of(), CodeHelpers.checkSetFieldCastIdentity(Identity.class, "foo", Set.of()));
-
- final var set = Set.of(Identity.class);
- assertSame(set, CodeHelpers.checkSetFieldCastIdentity(Identity.class, "foo", set));
- final var derivedSet = Set.of(DerivedIdentity.class);
- assertSame(derivedSet, CodeHelpers.checkSetFieldCastIdentity(Identity.class, "foo", derivedSet));
-
- IllegalArgumentException iae = assertThrows(IllegalArgumentException.class,
- () -> CodeHelpers.checkSetFieldCastIdentity(Identity.class, "foo", Collections.singleton(null)));
- assertThat(iae.getCause(), instanceOf(NullPointerException.class));
-
- iae = assertThrows(IllegalArgumentException.class,
- () -> CodeHelpers.checkSetFieldCastIdentity(Identity.class, "foo", Set.of(new Object())));
- assertThat(iae.getCause(), instanceOf(ClassCastException.class));
-
- iae = assertThrows(IllegalArgumentException.class,
- () -> CodeHelpers.checkSetFieldCastIdentity(Identity.class, "foo", Set.of(BaseIdentity.class)));
- assertThat(iae.getCause(), instanceOf(ClassCastException.class));
- }
-
- private interface Identity extends BaseIdentity {
-
- }
-
- private interface DerivedIdentity extends Identity {
-
- }
}