@Test
public void shouldGetPluralObject() throws Exception {

	// build witsmlObjects list
	ArrayList<AbstractWitsmlObject> witsmlObjects;
	witsmlObjects = new ArrayList<>();
	com.hashmapinc.tempus.WitsmlObjects.v1311.ObjWellbore wellboreA = new com.hashmapinc.tempus.WitsmlObjects.v1311.ObjWellbore();
	wellboreA.setName("wellbore-A");
	wellboreA.setUid("wellbore-A");
	witsmlObjects.add(wellboreA);
	com.hashmapinc.tempus.WitsmlObjects.v1311.ObjWellbore wellboreB = new com.hashmapinc.tempus.WitsmlObjects.v1311.ObjWellbore();
	wellboreB.setName("wellbore-B");
	wellboreB.setUid("wellbore-B");
	witsmlObjects.add(wellboreB);
	// build query context
	QueryContext qc = new QueryContext(
		"1.3.1.1",
		"wellbore",
		new HashMap<>(),
		"",
		witsmlObjects,
		"goodUsername",
		"goodPassword",
		"shouldGetPluralObject" // exchange ID
	);
	// mock delegator behavior
	doReturn(wellboreA).when(this.mockDelegator).getObject(wellboreA, qc.USERNAME, qc.PASSWORD, qc.EXCHANGE_ID, this.mockClient, new HashMap<>());
	doReturn(wellboreB).when(this.mockDelegator).getObject(wellboreB, qc.USERNAME, qc.PASSWORD, qc.EXCHANGE_ID, this.mockClient, new HashMap<>());
	// test
	String expected = // expected = merge wellboreA and wellbore B
		wellboreA.getXMLString("1.3.1.1").replace("</wellbores>", "") +
		wellboreB.getXMLString("1.3.1.1").replace(
			"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" +
			"<wellbores version=\"1.3.1.1\" xmlns=\"http://www.witsml.org/schemas/131\">",
			""
		);
	String actual = this.valve.getObject(qc).get();
	assertEquals(expected, actual);
}