blob: a3ba40bdce755306c09a71c7a46cf5eb78cefc92 [file] [log] [blame]
/* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package xmlobject.checkin;
import org.apache.xmlbeans.XmlCalendar;
import org.apache.xmlbeans.XmlCursor.TokenType;
import org.apache.xmlbeans.XmlDate;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlString;
import org.junit.Test;
import test.xbean.xmlcursor.purchaseOrder.PurchaseOrderDocument;
import test.xbean.xmlcursor.purchaseOrder.USAddress;
import tools.util.JarUtil;
import xmlcursor.common.BasicCursorTestCase;
import xmlcursor.common.Common;
import java.util.Calendar;
import static org.junit.Assert.*;
public class SetTest extends BasicCursorTestCase {
@Test
public void testSetFromSTART() throws Exception {
m_xo = XmlObject.Factory.parse(Common.XML_FOO_1ATTR_TEXT);
m_xc = m_xo.newCursor();
toNextTokenOfType(m_xc, TokenType.START);
XmlObject xo = m_xc.getObject();
xo.set(XmlString.Factory.newValue("newtext"));
assertEquals("newtext", m_xc.getTextValue());
}
@Test
public void testSetFromATTR() throws Exception {
m_xo = XmlObject.Factory.parse(Common.XML_FOO_1ATTR_TEXT);
m_xc = m_xo.newCursor();
toNextTokenOfType(m_xc, TokenType.ATTR);
XmlObject xo = m_xc.getObject();
xo.set(XmlString.Factory.newValue(" new attr text "));
assertEquals(" new attr text ", m_xc.getTextValue());
}
@Test
public void testSetFromSTARTstronglyTyped() throws Exception {
PurchaseOrderDocument pod = (PurchaseOrderDocument) XmlObject.Factory.parse(
JarUtil.getResourceFromJar("xbean/xmlcursor/po.xml"));
XmlString xcomment = pod.getPurchaseOrder().xgetComment();
xcomment.setStringValue("new comment text");
assertEquals("new comment text", pod.getPurchaseOrder().getComment());
}
@Test
public void testSetFromATTRstronglyTyped() throws Exception {
PurchaseOrderDocument pod = (PurchaseOrderDocument) XmlObject.Factory.parse(
JarUtil.getResourceFromJar("xbean/xmlcursor/po.xml"));
XmlDate xorderDate = pod.getPurchaseOrder().xgetOrderDate();
assertNotNull(xorderDate);
Calendar d = new XmlCalendar(new java.util.Date());
xorderDate.setCalendarValue(d);
// compare year, month, day of the xsd:date type
assertEquals(d.get(Calendar.YEAR),
pod.getPurchaseOrder().getOrderDate().get(Calendar.YEAR));
assertEquals(d.get(Calendar.MONTH),
pod.getPurchaseOrder().getOrderDate().get(Calendar.MONTH));
assertEquals(d.get(Calendar.DAY_OF_MONTH),
pod.getPurchaseOrder().getOrderDate().get(
Calendar.DAY_OF_MONTH));
}
@Test
public void testSetFromFixedATTR() throws Exception {
PurchaseOrderDocument pod = (PurchaseOrderDocument) XmlObject.Factory.parse(
JarUtil.getResourceFromJar("xbean/xmlcursor/po.xml"));
USAddress usa = pod.getPurchaseOrder().getShipTo();
assertNotNull(usa);
XmlString xcountry = usa.xgetCountry();
xcountry.setStringValue("UK");
assertFalse(pod.validate());
}
@Test
public void testSetFromComplexType() throws Exception {
PurchaseOrderDocument pod = (PurchaseOrderDocument) XmlObject.Factory.parse(
JarUtil.getResourceFromJar("xbean/xmlcursor/po.xml"));
USAddress usa = pod.getPurchaseOrder().getShipTo();
assertNotNull(usa);
usa.set(
USAddress.Factory.parse(
"<shipTo country=\"UK\"><name>Fred</name><street>paved</street><city>town</city><state>AK</state><zip>00000</zip></shipTo>"));
// assertTrue(true);
assertFalse(pod.validate());
}
}