int main() { srand(time(NULL)); int seed = rand() + 1; //declaring the reusable variables int *k = (int*)malloc(sizeof(int)*NUMCARDS); printf("-------------------------------------------------------\n"); printf("START OF UNIT TEST 3 - INITIALIZEGAME\n\n"); //testing for unique kingdom cards test1(seed); //testing for number of players test2(seed); //testing for supply count //when 2 players printf("TEST #3a: Supply cards: 3 players\n"); printf("\t curse = 10, estate|province|duchy = 8\n"); test3a(seed); printf("PASS\n"); printf("------------------\n"); //when 3 players printf("TEST #3b: Supply cards: 3 players\n"); printf("\t curse = 20, estate|province|duchy = 12\n"); test3b(seed); printf("PASS\n"); printf("------------------\n"); //when 4 players printf("TEST #3c: Supply cards: 4 players\n"); printf("\t curse = 30, estate|province|duchy = 12\n"); test3c(seed); printf("PASS\n"); printf("------------------\n"); //testing for correct kingdom card values printf("TEST #4: Kingdom cards correct values\n"); printf("\t should return 8, 10, 12 depending on number of players; -1 for unselected card\n"); //test4(seed); //test5(seed); printf("\nEND OF UNIT TEST 3 - INITIALIZEGAME\n"); printf("---------------------------------------------------\n"); return 0; }
int main (void) { int rnd; mp_prec_t p; tests_start_mpfr (); p = (randlimb () % 200)+ MPFR_PREC_MIN; RND_LOOP (rnd) { test2a (mpfr_round, "mpfr_round", p); test2a (mpfr_ceil, "mpfr_ceil", p); test2a (mpfr_floor, "mpfr_floor", p); test2a (mpfr_trunc, "mpfr_trunc", p); test2ui (mpfr_add_ui, "mpfr_add_ui", p, (mp_rnd_t) rnd); test2ui (mpfr_div_2exp, "mpfr_div_2exp", p, (mp_rnd_t) rnd); test2ui (mpfr_div_ui, "mpfr_div_ui", p, (mp_rnd_t) rnd); test2ui (mpfr_mul_2exp, "mpfr_mul_2exp", p, (mp_rnd_t) rnd); test2ui (mpfr_mul_ui, "mpfr_mul_ui", p, (mp_rnd_t) rnd); test2ui (mpfr_pow_ui, "mpfr_pow_ui", p, (mp_rnd_t) rnd); test2ui (mpfr_sub_ui, "mpfr_sub_ui", p, (mp_rnd_t) rnd); testui2 (mpfr_ui_div, "mpfr_ui_div", p, (mp_rnd_t) rnd); testui2 (mpfr_ui_sub, "mpfr_ui_sub", p, (mp_rnd_t) rnd); testui2 (mpfr_ui_pow, "mpfr_ui_pow", p, (mp_rnd_t) rnd); test2 (mpfr_sqr, "mpfr_sqr", p, (mp_rnd_t) rnd); test2 (mpfr_sqrt, "mpfr_sqrt", p, (mp_rnd_t) rnd); test2 (mpfr_abs, "mpfr_abs", p, (mp_rnd_t) rnd); test2 (mpfr_neg, "mpfr_neg", p, (mp_rnd_t) rnd); test2 (mpfr_log, "mpfr_log", p, (mp_rnd_t) rnd); test2 (mpfr_log2, "mpfr_log2", p, (mp_rnd_t) rnd); test2 (mpfr_log10, "mpfr_log10", p, (mp_rnd_t) rnd); test2 (mpfr_log1p, "mpfr_log1p", p, (mp_rnd_t) rnd); test2 (mpfr_exp, "mpfr_exp", p, (mp_rnd_t) rnd); test2 (mpfr_exp2, "mpfr_exp2", p, (mp_rnd_t) rnd); test2 (mpfr_exp10, "mpfr_exp10", p, (mp_rnd_t) rnd); test2 (mpfr_expm1, "mpfr_expm1", p, (mp_rnd_t) rnd); test2 (mpfr_eint, "mpfr_eint", p, (mp_rnd_t) rnd); test2 (mpfr_sinh, "mpfr_sinh", p, (mp_rnd_t) rnd); test2 (mpfr_cosh, "mpfr_cosh", p, (mp_rnd_t) rnd); test2 (mpfr_tanh, "mpfr_tanh", p, (mp_rnd_t) rnd); test2 (mpfr_asinh, "mpfr_asinh", p, (mp_rnd_t) rnd); test2 (mpfr_acosh, "mpfr_acosh", p, (mp_rnd_t) rnd); test2 (mpfr_atanh, "mpfr_atanh", p, (mp_rnd_t) rnd); test2 (mpfr_sech, "mpfr_sech", p, (mp_rnd_t) rnd); test2 (mpfr_csch, "mpfr_csch", p, (mp_rnd_t) rnd); test2 (mpfr_coth, "mpfr_coth", p, (mp_rnd_t) rnd); test2 (mpfr_asin, "mpfr_asin", p, (mp_rnd_t) rnd); test2 (mpfr_acos, "mpfr_acos", p, (mp_rnd_t) rnd); test2 (mpfr_atan, "mpfr_atan", p, (mp_rnd_t) rnd); test2 (mpfr_cos, "mpfr_cos", p, (mp_rnd_t) rnd); test2 (mpfr_sin, "mpfr_sin", p, (mp_rnd_t) rnd); test2 (mpfr_tan, "mpfr_tan", p, (mp_rnd_t) rnd); test2 (mpfr_sec, "mpfr_sec", p, (mp_rnd_t) rnd); test2 (mpfr_csc, "mpfr_csc", p, (mp_rnd_t) rnd); test2 (mpfr_cot, "mpfr_cot", p, (mp_rnd_t) rnd); test2 (mpfr_erf, "mpfr_erf", p, (mp_rnd_t) rnd); test2 (mpfr_erfc, "mpfr_erfc", p, (mp_rnd_t) rnd); test2 (mpfr_j0, "mpfr_j0", p, (mp_rnd_t) rnd); test2 (mpfr_j1, "mpfr_j1", p, (mp_rnd_t) rnd); test2 (mpfr_y0, "mpfr_y0", p, (mp_rnd_t) rnd); test2 (mpfr_y1, "mpfr_y1", p, (mp_rnd_t) rnd); test2 (mpfr_zeta, "mpfr_zeta", p, (mp_rnd_t) rnd); test2 (mpfr_gamma, "mpfr_gamma", p, (mp_rnd_t) rnd); test2 (mpfr_lngamma, "mpfr_lngamma", p, (mp_rnd_t) rnd); test2 (mpfr_rint, "mpfr_rint", p, (mp_rnd_t) rnd); test2 (mpfr_rint_ceil, "mpfr_rint_ceil", p, (mp_rnd_t) rnd); test2 (mpfr_rint_floor, "mpfr_rint_floor", p, (mp_rnd_t) rnd); test2 (mpfr_rint_round, "mpfr_rint_round", p, (mp_rnd_t) rnd); test2 (mpfr_rint_trunc, "mpfr_rint_trunc", p, (mp_rnd_t) rnd); test2 (mpfr_frac, "mpfr_frac", p, (mp_rnd_t) rnd); test3 (mpfr_add, "mpfr_add", p, (mp_rnd_t) rnd); test3 (mpfr_sub, "mpfr_sub", p, (mp_rnd_t) rnd); test3 (mpfr_mul, "mpfr_mul", p, (mp_rnd_t) rnd); test3 (mpfr_div, "mpfr_div", p, (mp_rnd_t) rnd); test3 (mpfr_agm, "mpfr_agm", p, (mp_rnd_t) rnd); test3 (mpfr_min, "mpfr_min", p, (mp_rnd_t) rnd); test3 (mpfr_max, "mpfr_max", p, (mp_rnd_t) rnd); test3 (reldiff_wrapper, "mpfr_reldiff", p, (mp_rnd_t) rnd); test3 (mpfr_dim, "mpfr_dim", p, (mp_rnd_t) rnd); test3 (mpfr_remainder, "mpfr_remainder", p, (mp_rnd_t) rnd); test3 (mpfr_pow, "mpfr_pow", p, (mp_rnd_t) rnd); test3 (mpfr_atan2, "mpfr_atan2", p, (mp_rnd_t) rnd); test3 (mpfr_hypot, "mpfr_hypot", p, (mp_rnd_t) rnd); test3a (mpfr_sin_cos, "mpfr_sin_cos", p, (mp_rnd_t) rnd); test4 (mpfr_fma, "mpfr_fma", p, (mp_rnd_t) rnd); test4 (mpfr_fms, "mpfr_fms", p, (mp_rnd_t) rnd); #if MPFR_VERSION >= MPFR_VERSION_NUM(2,4,0) test2 (mpfr_li2, "mpfr_li2", p, (mp_rnd_t) rnd); test2 (mpfr_rec_sqrt, "mpfr_rec_sqrt", p, (mp_rnd_t) rnd); test3 (mpfr_fmod, "mpfr_fmod", p, (mp_rnd_t) rnd); test3a (mpfr_modf, "mpfr_modf", p, (mp_rnd_t) rnd); test3a (mpfr_sinh_cosh, "mpfr_sinh_cosh", p, (mp_rnd_t) rnd); #endif } tests_end_mpfr (); return 0; }
static void test30(void) { test3a(a3, -1); }
/* this variation compiles and works with cc65, but gives an error with gcc :=P */ static void test32(void) { extern A3 *a3; test3a(a3, -1); }
static void test31(void) { extern A3 a3[]; test3a(a3, -1); }