From: Paul Brossier Date: Fri, 21 Dec 2018 11:44:46 +0000 (+0100) Subject: [tests] improve test-lvec X-Git-Tag: 0.4.9~45 X-Git-Url: https://git.aubio.org/?p=aubio.git;a=commitdiff_plain;h=9e2c1a1639ad90dbd0596b94bdc8e64416723926;ds=sidebyside [tests] improve test-lvec --- diff --git a/tests/src/test-lvec.c b/tests/src/test-lvec.c index 17b5fc66..d1a8a0ee 100644 --- a/tests/src/test-lvec.c +++ b/tests/src/test-lvec.c @@ -1,18 +1,47 @@ #include "aubio.h" #include "utils_tests.h" +void assert_lvec_all_equal(lvec_t *vec, lsmp_t scalar) +{ + uint_t i; + for (i = 0; i < vec->length; i++) { + assert(vec->data[i] == scalar); + } +} + int main (void) { - uint_t win_s = 32; // window size - lvec_t * sp = new_lvec (win_s); // input buffer - lvec_set_sample (sp, 2./3., 0); - PRINT_MSG(AUBIO_LSMP_FMT "\n", lvec_get_sample (sp, 0)); - lvec_print (sp); - lvec_ones (sp); - lvec_print (sp); - lvec_set_all (sp, 3./5.); - lvec_print (sp); - del_lvec(sp); + uint_t length = 32; // window size + + lvec_t * vec = new_lvec (length); // input buffer + + assert(vec); + + assert(vec->length == length); + + lvec_set_sample (vec, 3., 0); + assert(lvec_get_sample(vec, 0) == 3.); + + assert(lvec_get_data(vec) == vec->data); + + lvec_print (vec); + // note AUBIO_LSMP_FMT can be used to print lsmp_t + PRINT_MSG(AUBIO_LSMP_FMT "\n", lvec_get_sample (vec, 0)); + + lvec_set_all (vec, 2.); + assert_lvec_all_equal(vec, 2.); + + lvec_ones (vec); + assert_lvec_all_equal(vec, 1.); + + lvec_zeros (vec); + assert_lvec_all_equal(vec, 0.); + + del_lvec(vec); + + // wrong parameters + assert(new_lvec(0) == NULL); + assert(new_lvec(-1) == NULL); + return 0; } -