summaryrefslogtreecommitdiff
path: root/libs/ardour/test/mtdm_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/test/mtdm_test.cc')
-rw-r--r--libs/ardour/test/mtdm_test.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/libs/ardour/test/mtdm_test.cc b/libs/ardour/test/mtdm_test.cc
new file mode 100644
index 0000000000..e409bd664a
--- /dev/null
+++ b/libs/ardour/test/mtdm_test.cc
@@ -0,0 +1,29 @@
+#include <cstring>
+#include <cmath>
+#include "ardour/mtdm.h"
+#include "mtdm_test.h"
+
+CPPUNIT_TEST_SUITE_REGISTRATION (MTDMTest);
+
+using namespace std;
+
+void
+MTDMTest::basicTest ()
+{
+ float in[256];
+ float out[256];
+
+ memset (in, 0, 256 * sizeof (float));
+ MTDM* mtdm = new MTDM;
+ mtdm->process (256, in, out);
+ memcpy (in, out, 256 * sizeof (float));
+
+ for (int i = 0; i < 64; ++i) {
+ mtdm->process (256, in, out);
+ memcpy (in, out, 256 * sizeof (float));
+
+ CPPUNIT_ASSERT_EQUAL (0, mtdm->resolve ());
+ CPPUNIT_ASSERT (mtdm->err() < 1);
+ CPPUNIT_ASSERT_EQUAL (256.0, rint (mtdm->del()));
+ }
+}