public void testBasicReaderWriter() throws IOException { Households households = new HouseholdsImpl(); HouseholdsReaderV10 reader = new HouseholdsReaderV10(households); reader.readFile(this.getPackageInputDirectory() + TESTHOUSEHOLDSINPUT); checkContent(households); HouseholdsWriterV10 writer = new HouseholdsWriterV10(households); String outfilename = this.getOutputDirectory() + TESTXMLOUTPUT; writer.writeFile(outfilename); File outFile = new File(outfilename); assertTrue(outFile.exists()); //read it again to check if the same is read as at the very first beginning of test households = new HouseholdsImpl(); reader = new HouseholdsReaderV10(households); reader.readFile(outfilename); checkContent(households); }
private void checkContent(Households households) { assertEquals(3, households.getHouseholds().size()); Household hh = households.getHouseholds().get(id23); assertNotNull(hh); assertEquals(id23, hh.getId()); assertEquals(3, hh.getMemberIds().size()); List<Id<Person>> hhmemberIds = new ArrayList<>(); hhmemberIds.addAll(hh.getMemberIds()); Collections.sort(hhmemberIds); assertEquals(pid23, hhmemberIds.get(0)); assertEquals(pid42, hhmemberIds.get(1)); assertEquals(pid43, hhmemberIds.get(2)); assertNotNull(hh.getVehicleIds()); List<Id<Vehicle>> vehIds = new ArrayList<>(); vehIds.addAll(hh.getVehicleIds()); Collections.sort(vehIds); assertEquals(2, vehIds.size()); assertEquals(vid23, vehIds.get(0)); assertEquals(vid42, vehIds.get(1)); assertNotNull(hh.getIncome()); assertNotNull(hh.getIncome().getIncomePeriod()); assertEquals(IncomePeriod.month, hh.getIncome().getIncomePeriod()); assertEquals("eur", hh.getIncome().getCurrency()); assertEquals(50000.0d, hh.getIncome().getIncome(), EPSILON); assertNotNull("Custom attributes from household with id 23 should not be empty.", currentAttributes); String customAttributeName = "customAttribute1"; String customContent = (String)currentAttributes.getAttribute(customAttributeName);