comparison trajectorymanagement/test/LCSMetricTest.cpp @ 1159:e1e7acef8eab

moved trajectory management library into Traffic Intelligence
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Mon, 22 Feb 2021 22:09:35 -0500
parents
children
comparison
equal deleted inserted replaced
1158:7eb972942f22 1159:e1e7acef8eab
1 #include "LCSMetricTest.h"
2
3 void LCSMetricTest::setUp(void)
4 {
5 trajectoryA = new Trajectory<CvPoint> ();
6 trajectoryB = new Trajectory<CvPoint> ();
7 metric = new LCSMetric<CvPoint, unsigned int> ();
8 }
9
10 void LCSMetricTest::tearDown(void)
11 {
12 delete trajectoryA;
13 delete trajectoryB;
14 delete metric;
15
16 trajectoryA = NULL;
17 trajectoryB = NULL;
18 metric = NULL;
19 }
20
21 void LCSMetricTest::testMetric1(void)
22 {
23 unsigned int result = 0;
24 metric->similarity(trajectoryA, trajectoryB, result);
25 CPPUNIT_ASSERT_EQUAL(result, (unsigned int)(0));
26 }
27
28 void LCSMetricTest::testMetric2(void)
29 {
30 unsigned int result = 0;
31 trajectoryA->add(cvPoint(0, 0));
32 trajectoryB->add(cvPoint(0, 0));
33 metric->similarity(trajectoryA, trajectoryB, result);
34 CPPUNIT_ASSERT_EQUAL(result, (unsigned int)(1));
35 }
36
37 void LCSMetricTest::testMetric3(void)
38 {
39 unsigned int result = 0;
40 trajectoryA->add(cvPoint(0, 0));
41 trajectoryB->add(cvPoint(1, 1));
42 metric->similarity(trajectoryA, trajectoryB, result);
43 CPPUNIT_ASSERT_EQUAL(result, (unsigned int)(0));
44 }
45
46 void LCSMetricTest::testMetric4(void)
47 {
48 unsigned int result = 0;
49 trajectoryA->add(cvPoint(0, 0));
50 trajectoryB->add(cvPoint(3, 4));
51 metric->similarity(trajectoryA, trajectoryB, result);
52 CPPUNIT_ASSERT_EQUAL(result, (unsigned int)(0));
53 }
54
55 void LCSMetricTest::testMetric5(void)
56 {
57 unsigned int result = 0;
58 unsigned n = 50;
59 for (unsigned i = 1; i <= n; ++i)
60 {
61 trajectoryA->add(cvPoint(i, i));
62 trajectoryB ->add(cvPoint(n - i + 1, n - 1 + 1));
63 }
64 for (unsigned i = 1; i <= n; ++i)
65 {
66 trajectoryA ->add(cvPoint(n - i + 1, n - 1 + 1));
67 trajectoryB->add(cvPoint(i, i));
68 }
69 metric->similarity(trajectoryA, trajectoryB, result);
70 CPPUNIT_ASSERT_EQUAL(result, (unsigned int)(50));
71 }
72
73 void LCSMetricTest::testMetric6(void)
74 {
75 unsigned int result = 0;
76 unsigned n = 100;
77 for (unsigned i = 0; i < n; ++i)
78 {
79 trajectoryA->add(cvPoint(i, i));
80 trajectoryB ->add(cvPoint(i + 3, i + 3));
81 }
82 metric->similarity(trajectoryA, trajectoryB, result);
83 CPPUNIT_ASSERT_EQUAL(result, n - 3);
84 }