@Test public void writeOutputsAllContacts() throws ComponentLookupException { when(this.patient.<ContactInfo>getData("contact")).thenReturn( new IndexedPatientData<>("contact", Arrays.asList(this.contact1, this.contact3, this.contact2))); JSONObject container = new JSONObject(); this.mocker.getComponentUnderTest().writeJSON(this.patient, container); Assert.assertEquals(1, container.length()); JSONArray contacts = container.getJSONArray("contact"); Assert.assertTrue(this.contact1.toJSON().similar(contacts.get(0))); Assert.assertTrue(this.contact3.toJSON().similar(contacts.get(1))); Assert.assertTrue(this.contact2.toJSON().similar(contacts.get(2))); }
@Override public void writeJSON(Patient patient, JSONObject json) { writeJSON(patient, json, null); }
ContactInformationController implements PatientDataController<ContactInfo> { @Override public void writeJSON(Patient patient, JSONObject json) { writeJSON(patient, json, null); } }
ContactInformationController implements PatientDataController<ContactInfo> { @Override public void writeJSON(Patient patient, JSONObject json) { writeJSON(patient, json, null); }  }
ContactInformationController implements PatientDataController<ContactInfo> { @Override public void writeJSON(Patient patient, JSONObject json) { writeJSON(patient, json, null); }  @Override PatientData<ContactInfo> load(Patient patient); @Override void save(Patient patient); @Override void save(final Patient patient, final PatientWritePolicy policy); @Override void writeJSON(Patient patient, JSONObject json); @Override void writeJSON(Patient patient, JSONObject json, Collection<String> selectedFieldNames); @Override PatientData<ContactInfo> readJSON(JSONObject json); @Override String getName(); }
ContactInformationController implements PatientDataController<ContactInfo> { @Override public void writeJSON(Patient patient, JSONObject json) { writeJSON(patient, json, null); }  @Override PatientData<ContactInfo> load(Patient patient); @Override void save(Patient patient); @Override void save(final Patient patient, final PatientWritePolicy policy); @Override void writeJSON(Patient patient, JSONObject json); @Override void writeJSON(Patient patient, JSONObject json, Collection<String> selectedFieldNames); @Override PatientData<ContactInfo> readJSON(JSONObject json); @Override String getName();  }