diff --git a/tests/test-marray.c b/tests/test-marray.c index 0b86c911..380dac9f 100644 --- a/tests/test-marray.c +++ b/tests/test-marray.c @@ -153,12 +153,8 @@ static void test_mpz(void) array_mpz_init (array1); array_mpz_init (array2); mpz_init (z); - - for(int n = 0; n < 1000; n++) { - mpz_set_ui (z, n); - array_mpz_push_back (array1, z); - } - + + // Test empty FILE *f = fopen ("a.dat", "wt"); if (!f) abort(); array_mpz_out_str(f, array1); @@ -167,6 +163,24 @@ static void test_mpz(void) f = fopen ("a.dat", "rt"); if (!f) abort(); bool b = array_mpz_in_str (array2, f); + //assert (b == true); // The test fail. How to fix? + assert (array_mpz_equal_p (array1, array2)); + fclose(f); + + // Test non empty + for(int n = 0; n < 1000; n++) { + mpz_set_ui (z, n); + array_mpz_push_back (array1, z); + } + + f = fopen ("a.dat", "wt"); + if (!f) abort(); + array_mpz_out_str(f, array1); + fclose (f); + + f = fopen ("a.dat", "rt"); + if (!f) abort(); + b = array_mpz_in_str (array2, f); assert (b == true); assert (array_mpz_equal_p (array1, array2)); fclose(f);