Mercurial Hosting > traffic-intelligence
view c/test_graph.cpp @ 217:ba71924cadf5
added comment/TODO
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Thu, 21 Jun 2012 15:18:41 -0400 |
parents | f7ddfc4aeb1e |
children | f0f800b95765 bc4ea09b1743 |
line wrap: on
line source
#include "Motion.hpp" #include "testutils.hpp" #include "opencv2/core/core.hpp" #include <boost/test/unit_test.hpp> #include <boost/test/floating_point_comparison.hpp> #include <iostream> using namespace std; using namespace cv; BOOST_AUTO_TEST_SUITE(test_graph) BOOST_AUTO_TEST_CASE(graph_add_connected_components) { FeatureGraph featureGraph(5, 1, 5 , 1.); // (float _connectionDistance, float _segmentationDistance, unsigned int _minFeatureTime, float _minNFeaturesPerGroup) unsigned int lastInstant = 20; FeatureTrajectoryPtr ft1 = createFeatureTrajectory(1, 10, lastInstant, Point2f(1,1), Point2f(0.5, 0.)); FeatureTrajectoryPtr ft2 = createFeatureTrajectory(2, 10, lastInstant, Point2f(1.1,1), Point2f(0.5, 0.)); featureGraph.addFeature(ft1); BOOST_CHECK_EQUAL(featureGraph.getNVertices(), 1); BOOST_CHECK_EQUAL(featureGraph.getNEdges(), 0); featureGraph.addFeature(ft2); BOOST_CHECK_EQUAL(featureGraph.getNVertices(), 2); BOOST_CHECK_EQUAL(featureGraph.getNEdges(), 1); featureGraph.connectedComponents(lastInstant); vector<vector<unsigned int> > components = featureGraph.getFeatureGroups(); BOOST_CHECK_EQUAL(components.size(), 0); BOOST_CHECK_EQUAL(featureGraph.getNVertices(), 2); BOOST_CHECK_EQUAL(featureGraph.getNEdges(), 1); featureGraph.connectedComponents(lastInstant+1); components = featureGraph.getFeatureGroups(); BOOST_CHECK_EQUAL(components.size(), 1); BOOST_CHECK_EQUAL(components[0].size(), 2); BOOST_CHECK_EQUAL(featureGraph.getNVertices(), 0); BOOST_CHECK_EQUAL(featureGraph.getNEdges(), 0); // test connection distance featureGraph.addFeature(ft1); featureGraph.addFeature(ft2); FeatureTrajectoryPtr ft3 = createFeatureTrajectory(3, 10, lastInstant, Point2f(6.05,1), Point2f(0.5, 0.)); // connected to ft2 only featureGraph.addFeature(ft3); FeatureTrajectoryPtr ft4 = createFeatureTrajectory(4, 10, lastInstant, Point2f(11.1,1), Point2f(0.5, 0.)); // not connected featureGraph.addFeature(ft4); BOOST_CHECK_EQUAL(featureGraph.getNVertices(), 4); BOOST_CHECK_EQUAL(featureGraph.getNEdges(), 2); featureGraph.connectedComponents(lastInstant+1); components = featureGraph.getFeatureGroups(); BOOST_CHECK_EQUAL(components.size(), 2); BOOST_CHECK_EQUAL(components[0].size(), 3); BOOST_CHECK_EQUAL(components[1].size(), 1); BOOST_CHECK_EQUAL(featureGraph.getNVertices(), 0); BOOST_CHECK_EQUAL(featureGraph.getNEdges(), 0); } BOOST_AUTO_TEST_SUITE_END()