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