Mercurial > hg > match-vamp
annotate test/TestDistanceMetric.cpp @ 131:57cda698c225 refactors
Start DistanceMetric test
author | Chris Cannam |
---|---|
date | Thu, 11 Dec 2014 13:55:25 +0000 |
parents | |
children | af69db43f5a4 |
rev | line source |
---|---|
Chris@131 | 1 |
Chris@131 | 2 #include "DistanceMetric.h" |
Chris@131 | 3 |
Chris@131 | 4 #include <vector> |
Chris@131 | 5 #include <iostream> |
Chris@131 | 6 #include <cmath> |
Chris@131 | 7 |
Chris@131 | 8 using namespace std; |
Chris@131 | 9 |
Chris@131 | 10 #define BOOST_TEST_DYN_LINK |
Chris@131 | 11 #define BOOST_TEST_MAIN |
Chris@131 | 12 |
Chris@131 | 13 #include <boost/test/unit_test.hpp> |
Chris@131 | 14 |
Chris@131 | 15 static vector<double> getTestFeature(double m) |
Chris@131 | 16 { |
Chris@131 | 17 vector<double> f; |
Chris@131 | 18 double fd[] = { 0, 1, 2, 3 }; |
Chris@131 | 19 for (int i = 0; i < 4; ++i) { |
Chris@131 | 20 f.push_back(fd[i] * m); |
Chris@131 | 21 } |
Chris@131 | 22 return f; |
Chris@131 | 23 } |
Chris@131 | 24 |
Chris@131 | 25 BOOST_AUTO_TEST_SUITE(TestDistanceMetric) |
Chris@131 | 26 |
Chris@131 | 27 BOOST_AUTO_TEST_CASE(nonorm) |
Chris@131 | 28 { |
Chris@131 | 29 DistanceMetric dm(DistanceMetric::NoDistanceNormalisation); |
Chris@131 | 30 vector<double> |
Chris@131 | 31 e1 = getTestFeature(1), |
Chris@131 | 32 e2 = getTestFeature(2), |
Chris@131 | 33 e0 = getTestFeature(0); |
Chris@131 | 34 |
Chris@131 | 35 BOOST_CHECK_EQUAL(dm.calcDistance(e0, e0), 0.0); |
Chris@131 | 36 } |
Chris@131 | 37 |
Chris@131 | 38 BOOST_AUTO_TEST_SUITE_END() |
Chris@131 | 39 |
Chris@131 | 40 |
Chris@131 | 41 |