protected List<FieldPopulator> getFieldPopulators(Object factObject) throws ClassNotFoundException, IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException { FieldPopulatorFactory fieldPopulatorFactory = new FieldPopulatorFactory(factObject, typeResolver, classLoader); List<FieldPopulator> fieldPopulators = new ArrayList<FieldPopulator>(); for (Field field : fact.getFieldData()) { try { fieldPopulators.add(fieldPopulatorFactory.getFieldPopulator(field)); } catch (IllegalArgumentException e) { // This should never happen, but I don't trust myself or the legacy test scenarios we have. // If the field value is null then it is safe to ignore it. } } return fieldPopulators; }
protected List<FieldPopulator> getFieldPopulators(Object factObject) throws ClassNotFoundException, IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException { FieldPopulatorFactory fieldPopulatorFactory = new FieldPopulatorFactory(factObject, typeResolver, classLoader); List<FieldPopulator> fieldPopulators = new ArrayList<FieldPopulator>(); for (Field field : fact.getFieldData()) { try { fieldPopulators.add(fieldPopulatorFactory.getFieldPopulator(field)); } catch (IllegalArgumentException e) { // This should never happen, but I don't trust myself or the legacy test scenarios we have. // If the field value is null then it is safe to ignore it. } } return fieldPopulators; }
@Test public void testAdd() { FactData fd = new FactData("x", "y", new ArrayList(), false ); assertEquals(0, fd.getFieldData().size()); fd.getFieldData().add(new FieldData("x", "y")); assertEquals(1, fd.getFieldData().size()); fd.getFieldData().add(new FieldData("q", "x")); assertEquals(2, fd.getFieldData().size()); } }
@Test public void testLoadCollectionLegacyFieldTestScenario() throws Exception { StringBuffer contents = new StringBuffer(); BufferedReader reader = null; try { reader = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("CollectionLegacyFieldTestScenario.xml"))); String text = null; while ((text = reader.readLine()) != null) { contents.append(text); } } catch (Exception e) { if (reader != null) { reader.close(); } throw new IllegalStateException("Error while reading file.", e); } Scenario scenario = ScenarioXMLPersistence.getInstance().unmarshal(contents.toString()); verifyFieldDataNamesAreNotNull(scenario); FactData factData = (FactData) scenario.getFixtures().get(0); assertTrue(factData.getFieldData().get(0) instanceof CollectionFieldData); }
@Test public void testLoadCollectionFieldTestScenario() throws Exception { StringBuffer contents = new StringBuffer(); BufferedReader reader = null; try { reader = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("CollectionFieldTestScenario.xml"))); String text = null; while ((text = reader.readLine()) != null) { contents.append(text); } } catch (Exception e) { if (reader != null) { reader.close(); } throw new IllegalStateException("Error while reading file.", e); } Scenario scenario = ScenarioXMLPersistence.getInstance().unmarshal(contents.toString()); verifyFieldDataNamesAreNotNull(scenario); FactData factData = (FactData) scenario.getFixtures().get(0); assertTrue(factData.getFieldData().get(0) instanceof CollectionFieldData); }
@Test public void testLoadEvenOlderCollectionLegacyFieldTestScenario() throws Exception { StringBuffer contents = new StringBuffer(); BufferedReader reader = null; try { reader = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("CollectionLegacyFieldTestScenario2.xml"))); String text = null; while ((text = reader.readLine()) != null) { contents.append(text); } } catch (Exception e) { if (reader != null) { reader.close(); } throw new IllegalStateException("Error while reading file.", e); } Scenario scenario = ScenarioXMLPersistence.getInstance().unmarshal(contents.toString()); verifyFieldDataNamesAreNotNull(scenario); FactData factData = (FactData) scenario.getFixtures().get(0); assertTrue(factData.getFieldData().get(0) instanceof CollectionFieldData); }
@Test public void testLoadLegacyFieldDataTestScenario() throws Exception { StringBuffer contents = new StringBuffer(); BufferedReader reader = null; try { reader = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("LegacyFieldDataTestScenario.xml"))); String text = null; while ((text = reader.readLine()) != null) { contents.append(text); } } catch (Exception e) { if (reader != null) { reader.close(); } throw new IllegalStateException("Error while reading file.", e); } Scenario scenario = ScenarioXMLPersistence.getInstance().unmarshal(contents.toString()); verifyFieldDataNamesAreNotNull(scenario); FactData factData = (FactData) scenario.getFixtures().get(0); assertTrue(factData.getFieldData().get(0) instanceof CollectionFieldData); CollectionFieldData collectionFieldData=(CollectionFieldData)factData.getFieldData().get(0); FieldData fieldData = collectionFieldData.getCollectionFieldList().get(0); assertEquals("ratingSummaries", fieldData.getName()); assertEquals("=c1",fieldData.getValue()); }
@Test public void testLoadLegacyTestScenario() throws Exception { StringBuffer contents = new StringBuffer(); BufferedReader reader = null; try { reader = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("testLoadLegacyTestScenario.xml"))); String text = null; while ((text = reader.readLine()) != null) { contents.append(text); } } catch (Exception e) { if (reader != null) { reader.close(); } throw new IllegalStateException("Error while reading file.", e); } Scenario scenario = ScenarioXMLPersistence.getInstance().unmarshal(contents.toString()); verifyFieldDataNamesAreNotNull(scenario); FactData factData = (FactData) scenario.getFixtures().get(0); assertTrue(factData.getFieldData().get(0) instanceof FieldData); FieldData fieldData = (FieldData) factData.getFieldData().get(0); assertEquals("42", fieldData.getValue()); assertEquals("age", fieldData.getName()); }
private void verifyFieldDataNamesAreNotNull(Scenario sc) { for (Fixture fixture : sc.getFixtures()) { if (fixture instanceof FactData) { FactData factData = (FactData) fixture; for (Field field : factData.getFieldData()) { if (field instanceof FieldData) { FieldData fieldData = (FieldData) field; assertNotNull(fieldData.getName()); } } } } }