Compdateoracle is a perfect function without any bug to


Question:
David needs to test a function that compares dates (in C) with the following specification:
/* returns 0 if date1 = date2, -1 if date1 before date2, 1 if date1 after date2,
-2 if any element of any date is invalid;
valid years are all integers (<0 = BC); valid month is 1-12; valid day is
1-{28,29,30,31} depending on the year and month */
intcompdate(int year1, int month1, int day1, int year2, int month2, int day2);

He proposes a random testing scheme, running 2,000,000 tests where each test is
performed by the following function:

intoneTest() {
int y1 = random_int(); /* returns a random 32 bit value */
int y2 = random_int();
int m1 = (random_int() % 11) + 1;
int m2 = (random_int() % 11) + 1;
int d1 = (random_int() % 30) + 1;
int d2 = (random_int() % 30) + 1;
int c1 = compdate(y1,m1,d1,y2,m2,d2);
Assert(c1 == c2, "Issue with compdate function");
}

Assuming that compdateOracle is a perfect function without any bug to compare dates, Find out 3 issues with this random testing scheme. For each of the issue found, propose an improvement. Mention issue in one line and improvement proposal in less then 3 lines. Find out logical issue, don't look for typos and coding errors.

Solution Preview :

Prepared by a verified Expert
C/C++ Programming: Compdateoracle is a perfect function without any bug to
Reference No:- TGS01506069

Now Priced at $15 (50% Discount)

Recommended (97%)

Rated (4.9/5)