Skip to content

Commit af7c41c

Browse files
committed
Forcing the superclass to subclass order in test
1 parent d8440b7 commit af7c41c

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

plugin/src/test/java/io/jenkins/plugins/casc/BaseConfiguratorTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import static org.junit.Assert.assertTrue;
77

88
import io.jenkins.plugins.casc.model.Mapping;
9+
import java.lang.reflect.Method;
910
import java.util.Arrays;
1011
import java.util.List;
1112
import java.util.Map;
@@ -376,4 +377,21 @@ public void testFindGetterReturnsNullForMissingOrInvalidGetters() {
376377

377378
assertTrue("Properties without valid getters should yield no attributes", attributes.isEmpty());
378379
}
380+
381+
@Test
382+
public void testResolveBestSetterBranchCoverage() throws Exception {
383+
DummyConfigurator configurator = new DummyConfigurator();
384+
385+
Method resolveMethod = BaseConfigurator.class.getDeclaredMethod("resolveBestSetter", List.class, Class.class);
386+
resolveMethod.setAccessible(true);
387+
388+
Method setObj = DummyTarget.class.getMethod("setPet", Object.class);
389+
Method setAnimal = DummyTarget.class.getMethod("setPet", Animal.class);
390+
391+
List<Method> orderedMethods = Arrays.asList(setObj, setAnimal);
392+
393+
Method best = (Method) resolveMethod.invoke(configurator, orderedMethods, null);
394+
395+
assertEquals("Should upgrade bestType and resolve to the more specific Animal setter", setAnimal, best);
396+
}
379397
}

0 commit comments

Comments
 (0)