Index: tests/.expect/rational.txt
===================================================================
--- tests/.expect/rational.txt	(revision 3ecfa1375dc1c82c8e9016c410bf10d133ebda26)
+++ tests/.expect/rational.txt	(revision f00b2c2cbf6d9cefb36cf7e0de0a1cd7c6dd5a0e)
@@ -1,4 +1,4 @@
 constructor
-3/1 4/1 0/1
+3/1 4/1 0/1 0/1 1/1
 1/2 5/7
 2/3 -3/2
Index: tests/rational.cfa
===================================================================
--- tests/rational.cfa	(revision 3ecfa1375dc1c82c8e9016c410bf10d133ebda26)
+++ tests/rational.cfa	(revision f00b2c2cbf6d9cefb36cf7e0de0a1cd7c6dd5a0e)
@@ -10,6 +10,6 @@
 // Created On       : Mon Mar 28 08:43:12 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Mar 27 07:37:17 2019
-// Update Count     : 80
+// Last Modified On : Sat Feb  8 18:46:23 2020
+// Update Count     : 86
 //
 
@@ -19,25 +19,26 @@
 #include <fstream.hfa>
 
-double convert( int i ) { return (double)i; }
+typedef Rational(int) RatInt;
+double convert( int i ) { return (double)i; }			// used by narrow/widen
 int convert( double d ) { return (int)d; }
 
 int main() {
 	sout | "constructor";
-	Rational(int) a = { 3 }, b = { 4 }, c;
-	sout | a | b | c;
+	RatInt a = { 3 }, b = { 4 }, c, d = 0, e = 1;
+	sout | a | b | c | d | e;
 
-	a = (Rational(int)){ 4, 8 };
-	b = (Rational(int)){ 5, 7 };
+	a = (RatInt){ 4, 8 };
+	b = (RatInt){ 5, 7 };
 	sout | a | b;
-	a = (Rational(int)){ -2, -3 };
-	b = (Rational(int)){ 3, -2 };
+	a = (RatInt){ -2, -3 };
+	b = (RatInt){ 3, -2 };
 	sout | a | b;
-	a = (Rational(int)){ -2, 3 };
-	b = (Rational(int)){ 3, 2 };
+	a = (RatInt){ -2, 3 };
+	b = (RatInt){ 3, 2 };
 	sout | a | b;
 
 	sout | "logical";
-	a = (Rational(int)){ -2 };
-	b = (Rational(int)){ -3, 2 };
+	a = (RatInt){ -2 };
+	b = (RatInt){ -3, 2 };
 	sout | a | b;
 //	sout | a == 1; // FIX ME
@@ -58,9 +59,9 @@
 
 	sout | "conversion";
-	a = (Rational(int)){ 3, 4 };
+	a = (RatInt){ 3, 4 };
 	sout | widen( a );
-	a = (Rational(int)){ 1, 7 };
+	a = (RatInt){ 1, 7 };
 	sout | widen( a );
-	a = (Rational(int)){ 355, 113 };
+	a = (RatInt){ 355, 113 };
 	sout | widen( a );
 	sout | narrow( 0.75, 4 );
@@ -74,5 +75,5 @@
 
 	sout | "more tests";
-	Rational(int) x = { 1, 2 }, y = { 2 };
+	RatInt x = { 1, 2 }, y = { 2 };
 	sout | x - y;
 	sout | x > y;
@@ -80,12 +81,12 @@
 	sout | y | denominator( y, -2 ) | y;
 
-	Rational(int) z = { 0, 5 };
+	RatInt z = { 0, 5 };
 	sout | z;
 
 	sout | x | numerator( x, 0 ) | x;
 
-	x = (Rational(int)){ 1, MAX } + (Rational(int)){ 1, MAX };
+	x = (RatInt){ 1, MAX } + (RatInt){ 1, MAX };
 	sout | x;
-	x = (Rational(int)){ 3, MAX } + (Rational(int)){ 2, MAX };
+	x = (RatInt){ 3, MAX } + (RatInt){ 2, MAX };
 	sout | x;
 
