@@ -179,14 +179,31 @@ private String getXmlString(String resource) throws IOException {
179179 }
180180 }
181181
182+ enum EnumTest {
183+ YES , NO
184+ }
185+
182186 private void testEvalMethod (XPathParser parser ) {
183187 assertEquals ((Long ) 1970L , parser .evalLong ("/employee/birth_date/year" ));
188+ assertEquals ((Long ) 1970L , parser .evalNode ("/employee/birth_date/year" ).getLongBody ());
184189 assertEquals ((short ) 6 , (short ) parser .evalShort ("/employee/birth_date/month" ));
185190 assertEquals ((Integer ) 15 , parser .evalInteger ("/employee/birth_date/day" ));
191+ assertEquals ((Integer ) 15 , parser .evalNode ("/employee/birth_date/day" ).getIntBody ());
186192 assertEquals ((Float ) 5.8f , parser .evalFloat ("/employee/height" ));
193+ assertEquals ((Float ) 5.8f , parser .evalNode ("/employee/height" ).getFloatBody ());
187194 assertEquals ((Double ) 5.8d , parser .evalDouble ("/employee/height" ));
195+ assertEquals ((Double ) 5.8d , parser .evalNode ("/employee/height" ).getDoubleBody ());
196+ assertEquals ((Double ) 5.8d , parser .evalNode ("/employee" ).evalDouble ("height" ));
188197 assertEquals ("${id_var}" , parser .evalString ("/employee/@id" ));
198+ assertEquals ("${id_var}" , parser .evalNode ("/employee/@id" ).getStringBody ());
199+ assertEquals ("${id_var}" , parser .evalNode ("/employee" ).evalString ("@id" ));
189200 assertEquals (Boolean .TRUE , parser .evalBoolean ("/employee/active" ));
201+ assertEquals (Boolean .TRUE , parser .evalNode ("/employee/active" ).getBooleanBody ());
202+ assertEquals (Boolean .TRUE , parser .evalNode ("/employee" ).evalBoolean ("active" ));
203+ assertEquals (EnumTest .YES , parser .evalNode ("/employee/active" ).getEnumAttribute (EnumTest .class , "bot" ));
204+ assertEquals ((Float ) 3.2f , parser .evalNode ("/employee/active" ).getFloatAttribute ("score" ));
205+ assertEquals ((Double ) 3.2d , parser .evalNode ("/employee/active" ).getDoubleAttribute ("score" ));
206+
190207 assertEquals ("<id>${id_var}</id>" , parser .evalNode ("/employee/@id" ).toString ().trim ());
191208 assertEquals (7 , parser .evalNodes ("/employee/*" ).size ());
192209 XNode node = parser .evalNode ("/employee/height" );
@@ -196,7 +213,7 @@ private void testEvalMethod(XPathParser parser) {
196213
197214 @ Test
198215 void formatXNodeToString () {
199- XPathParser parser = new XPathParser ("<users><user><id>100</id><name>Tom</name><age>30</age><cars><car>BMW</car><car>Audi</car><car>Benz</car></cars></user></users>" );
216+ XPathParser parser = new XPathParser ("<users><user><id>100</id><name>Tom</name><age>30</age><cars><car index= \" 1 \" >BMW</car><car index= \" 2 \" >Audi</car><car index= \" 3 \" >Benz</car></cars></user></users>" );
200217 String usersNodeToString = parser .evalNode ("/users" ).toString ();
201218 String userNodeToString = parser .evalNode ("/users/user" ).toString ();
202219 String carsNodeToString = parser .evalNode ("/users/user/cars" ).toString ();
@@ -208,9 +225,9 @@ void formatXNodeToString() {
208225 " <name>Tom</name>\n " +
209226 " <age>30</age>\n " +
210227 " <cars>\n " +
211- " <car>BMW</car>\n " +
212- " <car>Audi</car>\n " +
213- " <car>Benz</car>\n " +
228+ " <car index= \" 1 \" >BMW</car>\n " +
229+ " <car index= \" 2 \" >Audi</car>\n " +
230+ " <car index= \" 3 \" >Benz</car>\n " +
214231 " </cars>\n " +
215232 " </user>\n " +
216233 "</users>\n " ;
@@ -221,17 +238,17 @@ void formatXNodeToString() {
221238 " <name>Tom</name>\n " +
222239 " <age>30</age>\n " +
223240 " <cars>\n " +
224- " <car>BMW</car>\n " +
225- " <car>Audi</car>\n " +
226- " <car>Benz</car>\n " +
241+ " <car index= \" 1 \" >BMW</car>\n " +
242+ " <car index= \" 2 \" >Audi</car>\n " +
243+ " <car index= \" 3 \" >Benz</car>\n " +
227244 " </cars>\n " +
228245 "</user>\n " ;
229246
230247 String carsNodeToStringExpect =
231248 "<cars>\n " +
232- " <car>BMW</car>\n " +
233- " <car>Audi</car>\n " +
234- " <car>Benz</car>\n " +
249+ " <car index= \" 1 \" >BMW</car>\n " +
250+ " <car index= \" 2 \" >Audi</car>\n " +
251+ " <car index= \" 3 \" >Benz</car>\n " +
235252 "</cars>\n " ;
236253
237254 assertEquals (usersNodeToStringExpect , usersNodeToString );
0 commit comments