@Override public int compare(Household o1, Household o2) { if (o1.getIncome().getIncomePeriod() != o2.getIncome().getIncomePeriod()){ throw new IllegalArgumentException("Can only compare Households with incomes in " + " same income period"); } if (o1.getIncome().getIncome() < o2.getIncome().getIncome()){ return -1; } else if (o1.getIncome().getIncome() > o2.getIncome().getIncome()){ return 1; } return 0; }
/*package*/ void writeHousehold(Household h) throws UncheckedIOException { this.atts.clear(); atts.add(createTuple(HouseholdsSchemaV10Names.ID, h.getId().toString())); this.writeStartTag(HouseholdsSchemaV10Names.HOUSEHOLD, atts); if ((h.getMemberIds() != null) && !h.getMemberIds().isEmpty()){ this.writeMembers(h.getMemberIds()); } if ((h.getVehicleIds() != null) && !h.getVehicleIds().isEmpty()) { this.writeStartTag(HouseholdsSchemaV10Names.VEHICLES, null); for (Id<Vehicle> id : h.getVehicleIds()){ atts.clear(); atts.add(createTuple(HouseholdsSchemaV10Names.REFID, id.toString())); this.writeStartTag(HouseholdsSchemaV10Names.VEHICLEDEFINITIONID, atts, true); } this.writeEndTag(HouseholdsSchemaV10Names.VEHICLES); } if (h.getIncome() != null){ this.writeIncome(h.getIncome()); } AttributesXmlWriterDelegate attributesWriter = new AttributesXmlWriterDelegate(); attributesWriter.putAttributeConverters(this.attributeConverters); try { this.writer.write(NL); } catch (IOException e) { e.printStackTrace(); } attributesWriter.writeAttributes( "\t\t" , this.writer , h.getAttributes() ); this.writeEndTag(HouseholdsSchemaV10Names.HOUSEHOLD); }
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); assertEquals(vid23, hh.getVehicleIds().get(0)); assertNotNull(hh.getIncome()); assertNotNull(hh.getIncome().getIncomePeriod()); assertEquals(IncomePeriod.day, hh.getIncome().getIncomePeriod()); assertEquals("eur", hh.getIncome().getCurrency()); assertEquals(1000.0d, hh.getIncome().getIncome(), EPSILON); assertEquals(0, hh.getVehicleIds().size()); assertNull(hh.getIncome());