Mercurial Hosting > traffic-intelligence
view trajectorymanagement/test/LCSMetricTest.cpp @ 1221:5a207c838323
correcting recursive errors
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Mon, 19 Jun 2023 22:37:45 -0400 |
parents | e1e7acef8eab |
children |
line wrap: on
line source
#include "LCSMetricTest.h" void LCSMetricTest::setUp(void) { trajectoryA = new Trajectory<CvPoint> (); trajectoryB = new Trajectory<CvPoint> (); metric = new LCSMetric<CvPoint, unsigned int> (); } void LCSMetricTest::tearDown(void) { delete trajectoryA; delete trajectoryB; delete metric; trajectoryA = NULL; trajectoryB = NULL; metric = NULL; } void LCSMetricTest::testMetric1(void) { unsigned int result = 0; metric->similarity(trajectoryA, trajectoryB, result); CPPUNIT_ASSERT_EQUAL(result, (unsigned int)(0)); } void LCSMetricTest::testMetric2(void) { unsigned int result = 0; trajectoryA->add(cvPoint(0, 0)); trajectoryB->add(cvPoint(0, 0)); metric->similarity(trajectoryA, trajectoryB, result); CPPUNIT_ASSERT_EQUAL(result, (unsigned int)(1)); } void LCSMetricTest::testMetric3(void) { unsigned int result = 0; trajectoryA->add(cvPoint(0, 0)); trajectoryB->add(cvPoint(1, 1)); metric->similarity(trajectoryA, trajectoryB, result); CPPUNIT_ASSERT_EQUAL(result, (unsigned int)(0)); } void LCSMetricTest::testMetric4(void) { unsigned int result = 0; trajectoryA->add(cvPoint(0, 0)); trajectoryB->add(cvPoint(3, 4)); metric->similarity(trajectoryA, trajectoryB, result); CPPUNIT_ASSERT_EQUAL(result, (unsigned int)(0)); } void LCSMetricTest::testMetric5(void) { unsigned int result = 0; unsigned n = 50; for (unsigned i = 1; i <= n; ++i) { trajectoryA->add(cvPoint(i, i)); trajectoryB ->add(cvPoint(n - i + 1, n - 1 + 1)); } for (unsigned i = 1; i <= n; ++i) { trajectoryA ->add(cvPoint(n - i + 1, n - 1 + 1)); trajectoryB->add(cvPoint(i, i)); } metric->similarity(trajectoryA, trajectoryB, result); CPPUNIT_ASSERT_EQUAL(result, (unsigned int)(50)); } void LCSMetricTest::testMetric6(void) { unsigned int result = 0; unsigned n = 100; for (unsigned i = 0; i < n; ++i) { trajectoryA->add(cvPoint(i, i)); trajectoryB ->add(cvPoint(i + 3, i + 3)); } metric->similarity(trajectoryA, trajectoryB, result); CPPUNIT_ASSERT_EQUAL(result, n - 3); }