### Question:
PodConfigFactoryImpl implements PodConfigFactory { @Override public PodConfig createPodConfig() { return applyPropertyConfigValues(new PodConfig().applyDefaults()); } PodConfigFactoryImpl();  PodConfigFactoryImpl(FieldRetriever fieldRetriever); @Override PodConfig createPodConfig(); @Override PodConfig createPodConfig(String templateName);  }### Answer:
@Test public void testFactoryWithoutRetriever() { configFactory = new PodConfigFactoryImpl(); PodConfig podConfig = configFactory.createPodConfig(); Assert.assertNotNull(podConfig); }
@Test(dataProvider = "taintedNodeSettingsProvider") public void testFactoryWithTaintedNodeConfig(final Boolean useTaintedNodesFlag, final String expectedSelector, final String expectedToleration) { doReturn(useTaintedNodesFlag).when(mockRetriever).getBoolean(useTaintedNodes.getFieldName(), false); doReturn(expectedSelector).when(mockRetriever).getField(useTaintedNodesSelector.getFieldName(), null); doReturn(expectedToleration).when(mockRetriever).getField(useTaintedNodesToleration.getFieldName(),null); configFactory = new PodConfigFactoryImpl(mockRetriever); PodConfig podConfig = configFactory.createPodConfig(); Assert.assertNotNull(podConfig); SoftAssertions.assertSoftly(softly -> { softly.assertThat(podConfig.getUseTaintedNodes()).isEqualTo(useTaintedNodesFlag); softly.assertThat(podConfig.getTaintedNodeSelector()).isEqualTo(expectedSelector); softly.assertThat(podConfig.getTaintedNodeToleration()).isEqualTo(expectedToleration); }); }