public static void testCycNumber() {
    System.out.println("\n*** testCycNumber ***");
    final CycNumber one = new CycNumber(1);
    assertTrue(one instanceof CycDenotationalTerm);
    assertTrue(one.equalsAtEL(1));
    final CycNumber oneTwoThree = CycObjectFactory.makeCycNumber(123);
    assertTrue(oneTwoThree instanceof Comparable);
    final CycNumber three = CycObjectFactory.makeCycNumber(3);
    final CycNumber minusZero = CycObjectFactory.makeCycNumber(-0.0);
    // Get a couple BigIntegers larger than the largest Double:
    BigInteger bigInteger = new BigInteger("212");
    BigInteger biggerInteger = new BigInteger("213");
    while (bigInteger.doubleValue() <= Double.MAX_VALUE) {
      bigInteger = biggerInteger;
      biggerInteger = biggerInteger.multiply(biggerInteger);
    }
    final CycNumber big = CycObjectFactory.makeCycNumber(bigInteger);
    final CycNumber bigger = CycObjectFactory.makeCycNumber(biggerInteger);
    assertNotSame(big, bigger);
    assertTrue(bigger.isGreaterThan(big));
    final List<CycNumber> numbers = Arrays.asList(three, big, minusZero, bigger);
    Collections.sort(numbers);
    assertEquals(minusZero, numbers.get(0));
    assertEquals(big, numbers.get(2));
    final CycNumber doubleOne = CycObjectFactory.makeCycNumber(1.0);
    assertNotSame(one, doubleOne);
    assertFalse(one.isGreaterThan(doubleOne));
    assertFalse(doubleOne.isGreaterThan(one));
    final CycNumber floatOne = CycObjectFactory.makeCycNumber(1.0F);
    assertNotSame(floatOne, doubleOne);
    assertNotSame(floatOne, one);
    assertEquals(doubleOne, doubleOne);
    final CycNumber plusZero = CycObjectFactory.makeCycNumber(0.0);
    assertNotSame(minusZero, plusZero);
    assertTrue(plusZero.isGreaterThan(minusZero));
    System.out.println("*** testCycNumber OK ***");
  }