1 9 10 package test.dom4j.datatype; 11 12 import junit.framework.Test; 13 import junit.framework.TestSuite; 14 import junit.textui.TestRunner; 15 import org.dom4j.Attribute; 16 import org.dom4j.Document; 17 import org.dom4j.Element; 18 import org.dom4j.QName; 19 import org.dom4j.datatype.DatatypeAttribute; 20 import org.dom4j.datatype.DatatypeDocumentFactory; 21 import org.dom4j.io.SAXReader; 22 23 import java.math.BigInteger ; 24 25 26 31 public class TestSetData extends test.dom4j.AbstractTestCase { 32 33 private DatatypeDocumentFactory factory = new DatatypeDocumentFactory(); 35 36 37 public static void main( String [] args ) { 38 TestRunner.run( suite() ); 39 } 40 41 public static Test suite() { 42 return new TestSuite( TestSetData.class ); 43 } 44 45 public TestSetData(String name) { 46 super(name); 47 } 48 49 public void testAttribute() throws Exception { 52 56 QName personName = factory.createQName( "person" ); 57 QName ageName = factory.createQName( "age" ); 58 59 Element person = factory.createElement( personName ); 60 61 person.addAttribute( ageName, "10" ); 62 Attribute age = person.attribute( ageName ); 63 64 assertTrue( "Created DatatypeAttribute", age instanceof DatatypeAttribute ); 65 66 log( "Found attribute: " + age ); 67 68 69 Object data = age.getData(); 70 Object expected = new BigInteger ( "10" ); 71 72 assertEquals( "Data is correct type", BigInteger .class, data.getClass() ); 73 74 assertEquals( "Set age correctly", expected, data ); 75 76 age.setValue( "32" ); 77 data = age.getData(); 78 expected = new BigInteger ( "32" ); 79 80 assertEquals( "Set age correctly", expected, data ); 81 82 91 93 try { 94 age.setValue( "abc" ); 95 fail( "Appeared to set an invalid value" ); 96 } 97 catch (IllegalArgumentException e) { 98 } 99 } 100 101 public void testElement() throws Exception { 102 QName personName = factory.createQName( "person" ); 103 QName numberOfCarsName = factory.createQName( "numberOfCars" ); 104 105 Element person = factory.createElement( personName ); 106 Element cars = person.addElement( numberOfCarsName ); 108 109 111 log( "Found element: " + cars ); 112 113 Object expected = new Short ( (short) 10 ); 114 cars.setData( expected ); 115 Object data = cars.getData(); 116 117 assertEquals( "Data is correct type", Short .class, data.getClass() ); 118 assertEquals( "Set cars correctly", expected, data ); 119 120 cars.setData( new Short ( (short) 32 ) ); 121 data = cars.getData(); 122 expected = new Short ( (short) 32 ); 123 124 assertEquals( "Set cars correctly", expected, data ); 125 126 cars.setText( "34" ); 127 data = cars.getData(); 128 expected = new Short ( (short) 34 ); 129 130 assertEquals( "Set cars correctly", expected, data ); 131 132 try { 134 cars.setText( "abc" ); 135 fail( "Appeared to set an invalid value" ); 136 } 137 catch (IllegalArgumentException e) { 138 } 139 } 140 141 142 protected void setUp() throws Exception { 145 SAXReader reader = new SAXReader(); 146 Document schema = reader.read( "xml/test/schema/personal.xsd" ); 147 factory.loadSchema( schema ); 148 } 149 } 150 151 152 153 154 198 | Popular Tags |