/* * @topic T00272 Serial Date class (Assignment a4) * @brief main() test driver program */ #include <cassert> #include "SDate.h" int main() { SDate date; // 7/4/1776 2369916 date.set( 7, 4, 1776 ); assert( date.serial() == 2369916 ); date.serial( 2369916 ); assert( date.serial() == 2369916 ); assert( date.month() == 7 ); assert( date.day() == 4 ); assert( date.year() == 1776 ); date.add( 1 ); // 7/5/1776 assert( date.serial() == 2369917 ); assert( date.month() == 7 ); assert( date.day() == 5 ); assert( date.year() == 1776 ); // 12/31/2000 2451910 date.set( 12, 31, 2000 ); assert( date.serial() == 2451910 ); assert( date.month() == 12 ); assert( date.day() == 31 ); assert( date.year() == 2000 ); date.add( 1 ); // 1/1/2001 assert( date.month() == 1 ); assert( date.day() == 1 ); assert( date.year() == 2001 ); assert( date.set( 2, 29, 2000 ) ); // leap year assert( date.month() == 2 ); assert( date.day() == 29 ); assert( date.year() == 2000 ); // Test validation assert( !date.set( 2, 29, 2001 ) ); // bad day assert( !date.set( 13, 31, 2001 ) ); // bad month assert( !date.set( 1, 32, 2001 ) ); // bad day std::cout << "Oll Korrect!\n"; return 0; }