package org.jdom.tests;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import junit.ui.LoadingTestRunner;

import org.jdom.IllegalNameException;
import org.jdom.Entity;


public class EntityTest extends TestCase {

  public EntityTest(String name) {
    super(name); 
  }

  public void testConstructor() {
  	
    Entity e1 = new Entity("retarsz");
    assertNotNull(e1);
    try {
      Entity e = new Entity("3retarsz"); 
      fail("Entities should not be allowed to begin with numbers");   	
    }
    catch (IllegalNameException ex) {
      // Expected Result	
    }
    try {
      Entity e = new Entity("re tarsz"); 
      fail("Entity names may not contain spaces");   	
    }
    catch (IllegalNameException ex) {
      // Expected Result	
    }
    try {
      Entity e = new Entity("re:tarsz"); 
      fail("Entity names may not contain colons");   	
    }
    catch (IllegalNameException ex) {
      // Expected Result	
    }
    try {
      Entity e = new Entity("re?tarsz"); 
      fail("Entity names may not contain question marks");   	
    }
    catch (IllegalNameException ex) {
      // Expected Result	
    }

  }

  public void testGetName() {
  	
    String name = "fred";
    Entity e = new Entity(name);
    assertEquals(e.getName(), "fred");
    	
  }
  
  
  public void testGetContent() {}
  public void testSetContent() {}
  public void testHasMixedContent() {}
  public void testGetMixedContent() {}
  public void testSetMixedContent() {}
  public void testGetChildren() { }
  public void testSetChildren() {}
  public void testAddChildElement() {}
  public void testAddChildString() {}
  public void testClone() {}
  public void testEquals() {}
  public void testHashcode() {}
  
  
  public static Test suite() { 
    return new TestSuite(EntityTest.class); 
  }

  public static void main (String[] args) {
    String[] tests = {"org.jdom.tests.EntityTest"};
    LoadingTestRunner.main(tests);
  }
  
}