public class TestComparisons
{
  public static void main(String[] args)
  {
    helper(new Integer(5), new Integer(16), new NumberComparator());
    helper(new Integer(25), new Integer(16), new NumberComparator());
    helper(new Integer(5), new Integer(16), new StringComparator());
    helper("alex", "Yvonne", new StringComparator());
    helper("Alex", "Yvonne", new StringComparator());
    helper("JWells", "123", new StringComparator());
    helper("JWells", "123", new NumberComparator());
  } // main(String[])

  /**
   * Given two values and a way to compare them, present them in
   * the "correct" order.
   */
  public static void helper(Object left, Object right, GComparator comp)
  {
    System.out.println(comp.getClass().toString());
    if (comp.mayPrecede(left, right)) {
      System.out.println(left + " may precede " + right);
    }
    else {
      System.out.println(right + " may precede " + left);
    }
  } 
} // class TestComparisons

