/* File TestNat.java Test driver for Natural Number Example H. Conrad Cunningham 1234567890123456789012345678901234567890123456789012345678901234567890 2004-01-17: Original 2016-10-26: Formatting changes, new tests This is a quick-and-dirty, partial test driver for the Nat cluster of classes. */ public class TestNat { public static void main(String[] arg) { System.out.println("\nTest Zero"); Nat zero = Zero.getZero(); System.out.println("0 : " + zero); System.out.println("\nTest Succ"); Nat one = new Succ(zero) ; System.out.println("1 : " + one); Nat three = new Succ(new Succ(new Succ(zero))); System.out.println("1+1+1+0 : " + three); Nat six = three.add(three); System.out.println("3+3 : " + six); System.out.println("3-3 : " + three.sub(three)); System.out.println("3-6 : " + three.sub(six)); System.out.println("3=3 : " + three.equals(three)); System.out.println("3=6 : " + three.equals(six)); System.out.println("0=6 : " + zero.equals(six)); System.out.println("0=0 : " + zero.equals(zero)); System.out.println("\nTest Err"); Nat err = Err.getErr(); System.out.println("Err = 1+1+Err : " + err.equals(new Succ(new Succ(err)))); System.out.println("3<3 : " + three.isLess(three)); System.out.println("3<6 : " + three.isLess(six)); System.out.println("0<6 : " + zero.isLess(six)); System.out.println("0<0 : " + zero.isLess(zero)); System.out.println("\nTest method chaining"); Nat result = zero.add(one).add(six).sub(three).sub(one); System.out.println("0+1+6-3-1 : " + result); } }