/*

Test1.java

*/

import java.util.Enumeration;

class Test1Integer implements OrderedObject {
  int _i;

  Test1Integer(int i) {
    _i = i;
  }

  public boolean equals(Object obj) {
    return _i == ((Test1Integer)obj)._i;
  }

  public boolean lessThan(OrderedObject obj) {
    return _i < ((Test1Integer)obj)._i;
  }

  public String toString() {
    return String.valueOf(_i);
  }
}

class Test1 {
  public static void print(BinaryTree b) {
    boolean first = true;
    System.out.print(b.size()+" [");
    for(Enumeration e=b.elements();e.hasMoreElements();) {
      Test1Integer ti = (Test1Integer)e.nextElement();
      if (first) {
	first = false;
      } else {
	System.out.print(" ");
      }
      System.out.print(ti);
    }
    System.out.println("]");
  }

  public static void main(String[] args) {
    BinaryTree b = new BinaryTree();

    b.addElement(new Test1Integer(4));
    b.addElement(new Test1Integer(5));
    b.addElement(new Test1Integer(2));
    b.addElement(new Test1Integer(3));
    b.addElement(new Test1Integer(6));
    b.addElement(new Test1Integer(1));

    print(b);

    System.out.println(b.removeElement(new Test1Integer(2)));
    System.out.println(b.removeElement(new Test1Integer(2)));
    System.out.println(b.removeElement(new Test1Integer(4)));
    System.out.println(b.removeElement(new Test1Integer(6)));

    print(b);
  }
}

