Package org.newdawn.slick.tests.xml

Source Code of org.newdawn.slick.tests.xml.XMLTest

package org.newdawn.slick.tests.xml;

import org.newdawn.slick.SlickException;
import org.newdawn.slick.util.xml.XMLElement;
import org.newdawn.slick.util.xml.XMLParser;

/**
* Silly test to check XML parsing functionality, note the JUnit like methods,
* want to move it to JUnit soon but not quite there yet.
*
* @author kevin
*/
public class XMLTest {
  /**
   * Fail the test
   *
   * @param message The message to describe the failure
   */
  private static void fail(String message) {
    throw new RuntimeException(message);
  }
 
  /**
   * Ensure that the given object is not null, if it is fail the test
   *
   * @param object1 The object to test
   */
  private static void assertNotNull(Object object1) {
    if (object1 == null) {
      throw new RuntimeException("TEST FAILS: "+object1+" must not be null");
    }
  }

  /**
   * Ensure that the two values given are equal, if not fail the test
   *
   * @param a1 The first value to compare
   * @param a2 The second value to compare
   */
  private static void assertEquals(float a1, float a2) {
    if (a1 != a2) {
      throw new RuntimeException("TEST FAILS: "+a1+" should be "+a2);
    }
  }

  /**
   * Ensure that the two values given are equal, if not fail the test
   *
   * @param a1 The first value to compare
   * @param a2 The second value to compare
   */
  private static void assertEquals(int a1, int a2) {
    if (a1 != a2) {
      throw new RuntimeException("TEST FAILS: "+a1+" should be "+a2);
    }
  }

  /**
   * Ensure that the two values given are equal, if not fail the test
   *
   * @param a1 The first value to compare
   * @param a2 The second value to compare
   */
  private static void assertEquals(Object a1, Object a2) {
    if (!a1.equals(a2)) {
      throw new RuntimeException("TEST FAILS: "+a1+" should be "+a2);
    }
  }
 
  /**
   * Simple test for the XML parsing API
   *
   * @param argv The arguments given to the test
   * @throws SlickException Indicates a failure
   */
  public static void main(String[] argv) throws SlickException {
    XMLParser parser = new XMLParser();
   
    XMLElement root = parser.parse("testdata/test.xml");
   
    assertEquals(root.getName(), "testRoot");
    System.out.println(root);
    assertNotNull(root.getChildrenByName("simple").get(0).getContent());
    System.out.println(root.getChildrenByName("simple").get(0).getContent());
   
    XMLElement parent = root.getChildrenByName("parent").get(0);
    assertEquals(parent.getChildrenByName("grandchild").size(),0);
    assertEquals(parent.getChildrenByName("child").size(),2);
   
    assertEquals(parent.getChildrenByName("child").get(0).getChildren().size(),2);
    XMLElement child = parent.getChildrenByName("child").get(0).getChildren().get(0);
   
    String name = child.getAttribute("name");
    String test = child.getAttribute("nothere","defaultValue");
    int age = child.getIntAttribute("age");
   
    assertEquals(name, "bob");
    assertEquals(test, "defaultValue");
    assertEquals(age, 1);
   
    XMLElement other = root.getChildrenByName("other").get(0);
    float x = (float) other.getDoubleAttribute("x");
    float y = (float) other.getDoubleAttribute("y", 1.0f);
    float z = (float) other.getDoubleAttribute("z", 83.0f);
   
    assertEquals(x, 5.3f);
    assertEquals(y, 5.4f);
    assertEquals(z, 83.0f);
   
    try {
      z = (float) other.getDoubleAttribute("z");
      fail("Attribute z as a double should fail");
    } catch (SlickException e) {
      // expect exception
    }
  }
}
TOP

Related Classes of org.newdawn.slick.tests.xml.XMLTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.