#include "Rational.h"
#include <string>

// Rational number test program
int main()
{
    Rational x1, x2, result;
	bool b;

    // Mathematics Operations
	try
	{
		x1=Rational(3,8); x2=Rational(1,6);

		result = x1 + x2;
		x1.display(); cout << " + "; x2.display(); 
		cout << " = "; result.display(); cout << endl;

		result = x1 - x2;
		x1.display(); cout << " - "; x2.display(); 
		cout << " = "; result.display(); cout << endl;

		result = x1 * x2; 
		x1.display(); cout << " * "; x2.display(); 
		cout << " = "; result.display(); cout << endl;

		result = x1 / x2;
		x1.display(); cout << " / "; x2.display(); 
		cout << " = "; result.display(); cout << endl << endl;

		// Logical Operations (divide num * denom then compare)
		x1=Rational(1,6); x2=Rational(3,8);

		b = x1 < x2; 
		x1.display(); cout << " < "; x2.display(); 
		cout << " = "; cout << b << endl;

		b = x1 <= x2; 
		x1.display(); cout << " <= "; x2.display(); 
		cout << " = "; cout << b << endl;

		b = x1 > x2; 
		x1.display(); cout << " > "; x2.display(); 
		cout << " = "; cout << b << endl;

		b = x1 >= x2; 
		x1.display(); cout << " >= "; x2.display(); 
		cout << " = "; cout << b << endl;

		x1=Rational(3,8); x2=Rational(9,24);

		b = x1 == x2; 
		x1.display(); cout << " == "; x2.display(); 
		cout << " = "; cout << b << endl;
	}
	// Catch any divide by zeros
	catch (char *error)
	{
		cout << error << endl;
		system("pause");
		return 1;
	}

	system("pause");
	
	return 0;
}

