2 @see https://www.w3.org/TR/xmlschema-2/
5 package jp.sfjp.mikutoga.xml;
7 import javax.xml.parsers.DocumentBuilder;
8 import javax.xml.parsers.DocumentBuilderFactory;
9 import javax.xml.parsers.ParserConfigurationException;
10 import org.junit.After;
11 import org.junit.AfterClass;
12 import org.junit.Before;
13 import org.junit.BeforeClass;
14 import org.junit.Test;
15 import static org.junit.Assert.*;
16 import org.w3c.dom.Document;
17 import org.w3c.dom.Element;
22 public class DomUtilsTest {
24 private static final DocumentBuilderFactory FACTORY =
25 DocumentBuilderFactory.newInstance();
26 private static final DocumentBuilder BUILDER;
28 private static final String TESTELEM = "testelem";
29 private static final String TESTATTR = "testattr";
31 private static Element getTestAttredElem(String attrVal){
32 Document doc = BUILDER.newDocument();
33 Element elem = doc.createElement(TESTELEM);
34 elem.setAttribute(TESTATTR, attrVal);
40 BUILDER = FACTORY.newDocumentBuilder();
41 }catch(ParserConfigurationException e){
42 throw new ExceptionInInitializerError(e);
46 public DomUtilsTest() {
50 public static void setUpClass() throws ParserConfigurationException{
54 public static void tearDownClass() {
62 public void tearDown() {
66 * Test of getBooleanAttr method, of class DomUtils.
69 public void testGetBooleanAttr() throws Exception {
70 System.out.println("getBooleanAttr");
75 elem = getTestAttredElem("true");
76 result = DomUtils.getBooleanAttr(elem, TESTATTR);
79 elem = getTestAttredElem("false");
80 result = DomUtils.getBooleanAttr(elem, TESTATTR);
83 elem = getTestAttredElem("0");
84 result = DomUtils.getBooleanAttr(elem, TESTATTR);
87 elem = getTestAttredElem("1");
88 result = DomUtils.getBooleanAttr(elem, TESTATTR);
91 elem = getTestAttredElem("\n\rtrue\u0020\t");
92 result = DomUtils.getBooleanAttr(elem, TESTATTR);
95 elem = getTestAttredElem("?");
97 DomUtils.getBooleanAttr(elem, TESTATTR);
99 }catch(TogaXmlException e){
107 * Test of getIntegerAttr method, of class DomUtils.
110 public void testGetIntegerAttr() throws TogaXmlException {
111 System.out.println("getIntegerAttr");
116 elem = getTestAttredElem("0");
117 result = DomUtils.getIntegerAttr(elem, TESTATTR);
118 assertEquals(0, result);
120 elem = getTestAttredElem("1");
121 result = DomUtils.getIntegerAttr(elem, TESTATTR);
122 assertEquals(1, result);
124 elem = getTestAttredElem("-1");
125 result = DomUtils.getIntegerAttr(elem, TESTATTR);
126 assertEquals(-1, result);
128 elem = getTestAttredElem("999");
129 result = DomUtils.getIntegerAttr(elem, TESTATTR);
130 assertEquals(999, result);
132 elem = getTestAttredElem("-9999");
133 result = DomUtils.getIntegerAttr(elem, TESTATTR);
134 assertEquals(-9999, result);
136 elem = getTestAttredElem("\n\r999\u0020\t");
137 result = DomUtils.getIntegerAttr(elem, TESTATTR);
138 assertEquals(999, result);
140 elem = getTestAttredElem("?");
142 result = DomUtils.getIntegerAttr(elem, TESTATTR);
144 }catch(TogaXmlException e){
152 * Test of getFloatAttr method, of class DomUtils.
155 public void testGetFloatAttr() throws TogaXmlException {
156 System.out.println("getFloatAttr");
161 elem = getTestAttredElem("0.0");
162 result = DomUtils.getFloatAttr(elem, TESTATTR);
163 assertEquals(0.0f, result, 0.0f);
165 elem = getTestAttredElem("-0.0");
166 result = DomUtils.getFloatAttr(elem, TESTATTR);
167 assertEquals(0.0f, result, 0.0f);
168 assertEquals("-0.0", Float.toString(result));
170 elem = getTestAttredElem("-123.456");
171 result = DomUtils.getFloatAttr(elem, TESTATTR);
172 assertEquals(-123.456f, result, 0.0f);
174 elem = getTestAttredElem("654.321");
175 result = DomUtils.getFloatAttr(elem, TESTATTR);
176 assertEquals(654.321f, result, 0.0f);
178 elem = getTestAttredElem("2.3E4");
179 result = DomUtils.getFloatAttr(elem, TESTATTR);
180 assertEquals(23000.0f, result, 0.0f);
182 elem = getTestAttredElem("INF");
183 result = DomUtils.getFloatAttr(elem, TESTATTR);
184 assertEquals(Float.POSITIVE_INFINITY, result, 0.0f);
186 elem = getTestAttredElem("+INF");
188 DomUtils.getFloatAttr(elem, TESTATTR);
190 }catch(TogaXmlException e){
194 elem = getTestAttredElem("NaN");
195 result = DomUtils.getFloatAttr(elem, TESTATTR);
196 assertTrue(Float.isNaN(result));
198 elem = getTestAttredElem("\n\r123.456\u0020\t");
199 result = DomUtils.getFloatAttr(elem, TESTATTR);
200 assertEquals(123.456f, result, 0.0f);
202 elem = getTestAttredElem("?");
204 DomUtils.getFloatAttr(elem, TESTATTR);
206 }catch(TogaXmlException e){