(BaseBuilder<?, ?> builder, int expectedFieldsCount)
| 35 | } |
| 36 | |
| 37 | private void test(BaseBuilder<?, ?> builder, int expectedFieldsCount) |
| 38 | throws IllegalArgumentException, IllegalAccessException { |
| 39 | Capability mockingCapability = Mockito.mock(Capability.class, RETURNS_MOCKS); |
| 40 | BaseBuilder<?, ?> enriched = builder.addCapability(mockingCapability).enrich(); |
| 41 | |
| 42 | List<Field> fields = enriched.getFieldsToEnrich(); |
| 43 | assertThat(fields).hasSize(expectedFieldsCount); |
| 44 | |
| 45 | for (Field field : fields) { |
| 46 | field.setAccessible(true); |
| 47 | Object mockedValue = field.get(enriched); |
| 48 | if (mockedValue instanceof List<?> list) { |
| 49 | assertThat(list).withFailMessage("Enriched list missing contents %s", field).isNotEmpty(); |
| 50 | mockedValue = list.getFirst(); |
| 51 | } |
| 52 | assertThat(Mockito.mockingDetails(mockedValue).isMock()) |
| 53 | .as("Field was not enriched " + field) |
| 54 | .isTrue(); |
| 55 | assertNotSame(builder, enriched); |
| 56 | } |
| 57 | } |
| 58 | |
| 59 | @Test |
| 60 | void checkEnrichTouchesAllBuilderFields() |
no test coverage detected