1 package org.codehaus.xfire.java.message;
2
3 import java.util.Date;
4
5 import javax.xml.stream.XMLInputFactory;
6 import javax.xml.stream.XMLStreamReader;
7
8 import org.codehaus.xfire.AbstractXFireTest;
9
10 /***
11 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
12 * @since Nov 4, 2004
13 */
14 public class ReaderTest
15 extends AbstractXFireTest
16 {
17 public void testLiteralReader()
18 throws Exception
19 {
20 XMLInputFactory factory = XMLInputFactory.newInstance();
21 XMLStreamReader reader = factory.createXMLStreamReader(
22 getResourceAsStream("/org/codehaus/xfire/java/document/bean11.xml"));
23
24 while ( reader.getEventType() != XMLStreamReader.START_ELEMENT )
25 reader.next();
26
27 LiteralReader lr = new LiteralReader(reader);
28 assertTrue( lr.getLocalName().equals("Envelope") );
29
30
31 assertTrue( lr.hasMoreChildReaders() );
32 assertTrue( lr.hasMoreChildReaders() );
33 assertTrue( lr.hasMoreChildReaders() );
34
35 MessageReader header = lr.getNextChildReader();
36 assertEquals( "Header", header.getLocalName() );
37 assertFalse( header.hasMoreChildReaders() );
38
39 MessageReader body = lr.getNextChildReader();
40 assertEquals( "Body", body.getLocalName() );
41 assertFalse( body.hasMoreChildReaders() );
42
43
44 }
45
46 public void testDates() throws Exception
47 {
48 XMLInputFactory factory = XMLInputFactory.newInstance();
49 XMLStreamReader xr = factory.createXMLStreamReader(
50 getResourceAsStream( "/org/codehaus/xfire/java/message/dates.xml" ) );
51
52 while ( xr.getEventType() != XMLStreamReader.START_ELEMENT )
53 xr.next();
54
55 MessageReader reader = new LiteralReader(xr);
56
57 Date date0 = reader.getNextChildReader().getValueAsDate();
58 assertNotNull(date0);
59 Date dateTime0 = reader.getNextChildReader().getValueAsDateTime();
60 assertNotNull(dateTime0);
61 Date dateTime1 = reader.getNextChildReader().getValueAsDateTime();
62 assertNotNull(dateTime1);
63 Date dateTime2 = reader.getNextChildReader().getValueAsDateTime();
64 assertNotNull(dateTime2);
65
66 Date dateTime3 = reader.getNextChildReader().getValueAsDateTime();
67 assertNotNull(dateTime3);
68 Date dateTime4 = reader.getNextChildReader().getValueAsDateTime();
69 assertNotNull(dateTime4);
70 assertTrue ( dateTime3.before( dateTime4 ) );
71
72 Date dateTime5 = reader.getNextChildReader().getValueAsDateTime();
73 assertNotNull(dateTime5);
74 Date dateTime6 = reader.getNextChildReader().getValueAsDateTime();
75 assertNotNull(dateTime6);
76 assertTrue ( dateTime5.before( dateTime6 ) );
77
78
79 }
80 }