+
+ @Test
+ public void testCheckSetFieldCast() {
+ assertNull(CodeHelpers.checkSetFieldCast(CodeHelpersTest.class, "foo", null));
+ assertSame(Set.of(), CodeHelpers.checkSetFieldCast(CodeHelpersTest.class, "foo", Set.of()));
+ final var list = Set.of(this);
+ assertSame(list, CodeHelpers.checkSetFieldCast(CodeHelpersTest.class, "foo", list));
+
+ IllegalArgumentException iae = assertThrows(IllegalArgumentException.class,
+ () -> CodeHelpers.checkSetFieldCast(CodeHelpersTest.class, "foo", Collections.singleton(null)));
+ assertThat(iae.getCause(), instanceOf(NullPointerException.class));
+
+ iae = assertThrows(IllegalArgumentException.class,
+ () -> CodeHelpers.checkSetFieldCast(CodeHelpersTest.class, "foo", Set.of(new Object())));
+ assertThat(iae.getCause(), instanceOf(ClassCastException.class));
+ }