[tests] check creating filterbank with wrong parameters returns null
[aubio.git] / tests / src / spectral / test-filterbank.c
index 3817f13..769d144 100644 (file)
@@ -1,6 +1,6 @@
 #include <aubio.h>
 
-int main ()
+int main (void)
 {
   uint_t win_s = 1024; // window size
   uint_t n_filters = 13; // number of filters
@@ -8,9 +8,21 @@ int main ()
   cvec_t *in_spec = new_cvec (win_s); // input vector of samples
   fvec_t *out_filters = new_fvec (n_filters); // per-band outputs
 
+  if (new_aubio_filterbank(0, win_s)) return 1;
+  if (new_aubio_filterbank(n_filters, 0)) return 1;
+
   // create filterbank object
   aubio_filterbank_t *o = new_aubio_filterbank (n_filters, win_s);
 
+  smpl_t power = aubio_filterbank_get_power(o);
+  smpl_t norm = aubio_filterbank_get_norm(o);
+  if (aubio_filterbank_set_power(o, power)) {
+    return 1;
+  }
+  if (aubio_filterbank_set_norm(o, norm)) {
+    return 1;
+  }
+
   // apply filterbank ten times
   uint_t n = 10;
   while (n) {
@@ -23,6 +35,10 @@ int main ()
   coeffs = aubio_filterbank_get_coeffs (o);
   fmat_print (coeffs);
 
+  aubio_filterbank_set_coeffs (o, coeffs);
+  coeffs = aubio_filterbank_get_coeffs (o);
+  fmat_print (coeffs);
+
   //fvec_print (out_filters);
 
   // clean up