diff options
Diffstat (limited to 'src/test.c')
-rw-r--r-- | src/test.c | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -2126,6 +2126,35 @@ err: return 1; } +int test_get_most_likely_mean_pe(char *err) +{ + /* Tests that the get_most_likely_mean_pe() function returns values which + * are monotonically increasing. */ + size_t i; + double q, result, last_result; + size_t n = 100; + + init_charge(); + + for (i = 0; i < n; i++) { + q = i*1000.0/(n-1); + + result = get_most_likely_mean_pe(q); + + if (i > 0 && result < last_result) { + sprintf(err, "get_most_likely_mean_pe() returned %.5g for q = %.2f, but expected something bigger than %.5g", result, q, last_result); + goto err; + } + + last_result = result; + } + + return 0; + +err: + return 1; +} + struct tests { testFunction *test; char *name; @@ -2179,6 +2208,7 @@ struct tests { {test_electron_get_angular_pdf_norm, "test_electron_get_angular_pdf_norm"}, {test_fast_acos, "test_fast_acos"}, {test_fast_sqrt, "test_fast_sqrt"}, + {test_get_most_likely_mean_pe, "test_get_most_likely_mean_pe"}, }; int main(int argc, char **argv) |