blob: dd79d5babbf9a285c370f3e4d5bc372ff1acd4e2 [file] [log] [blame]
/*
* Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// bdoughan - June/2008 - 1.0 - Initial implementation
package org.eclipse.persistence.testing.oxm.mappings.sequenced;
import org.eclipse.persistence.mappings.DatabaseMapping;
import org.eclipse.persistence.oxm.sequenced.Setting;
import org.eclipse.persistence.testing.oxm.mappings.XMLMappingTestCases;
public class MixedTextMiddleTestCases extends XMLMappingTestCases {
private static final String XML_RESOURCE = "org/eclipse/persistence/testing/oxm/mappings/sequenced/MixedTextMiddle.xml";
private static final String CONTROL_AREA_CODE = "613";
private static final String CONTROL_NUMBER = "555-1111";
private static final String CONTROL_EXTENSION = "1234";
private static final EmployeeProject EMPLOYEE_PROJECT = new EmployeeProject();
private PhoneNumber controlPhoneNumber;
public MixedTextMiddleTestCases(String name) throws Exception {
super(name);
setControlDocument(XML_RESOURCE);
setProject(EMPLOYEE_PROJECT);
}
@Override
public PhoneNumber getControlObject() {
if(null != controlPhoneNumber) {
return controlPhoneNumber;
}
controlPhoneNumber = new PhoneNumber();
Setting areaCodeTextSetting = new Setting(null, "text()");
areaCodeTextSetting.setObject(controlPhoneNumber);
DatabaseMapping areaCodeMapping = EMPLOYEE_PROJECT.getDescriptor(PhoneNumber.class).getMappingForAttributeName("areaCode");
areaCodeTextSetting.setMapping(areaCodeMapping);
areaCodeTextSetting.setValue(CONTROL_AREA_CODE);
Setting areaCodeSetting = new Setting(null, "area-code");
areaCodeSetting.addChild(areaCodeTextSetting);
controlPhoneNumber.getSettings().add(areaCodeSetting);
Setting numberTextSetting = new Setting(null, "text()");
numberTextSetting.setObject(controlPhoneNumber);
DatabaseMapping numberMapping = EMPLOYEE_PROJECT.getDescriptor(PhoneNumber.class).getMappingForAttributeName("number");
numberTextSetting.setMapping(numberMapping);
numberTextSetting.setValue(CONTROL_NUMBER);
controlPhoneNumber.getSettings().add(numberTextSetting);
Setting extensionTextSetting = new Setting(null, "text()");
extensionTextSetting.setObject(controlPhoneNumber);
DatabaseMapping extensionMapping = EMPLOYEE_PROJECT.getDescriptor(PhoneNumber.class).getMappingForAttributeName("extension");
extensionTextSetting.setMapping(extensionMapping);
extensionTextSetting.setValue(CONTROL_EXTENSION);
Setting extensionSetting = new Setting(null, "extension");
extensionSetting.addChild(extensionTextSetting);
controlPhoneNumber.getSettings().add(extensionSetting);
return controlPhoneNumber;
}
@Override
public void xmlToObjectTest(Object testObject) throws Exception {
PhoneNumber testPhoneNumber = (PhoneNumber) testObject;
assertEquals(getControlObject().getSettings().size(), testPhoneNumber.getSettings().size());
super.xmlToObjectTest(testObject);
}
}