Mercurial > hg > nsaunier > traffic-intelligence
comparison trajectorymanagement/test/PointOperationsTest.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 "PointOperationsTest.h" | |
| 2 | |
| 3 void PointOperationsTest::testInitPoint(void) | |
| 4 { | |
| 5 testInitPoint2D(cv::Point_<ushort>(10, 20), 10, 20, 30); | |
| 6 testInitPoint2D(cv::Point_<short int>(10, 20), 10, 20, 30); | |
| 7 testInitPoint2D(cv::Point_<unsigned int>(10, 20), 10, 20, 30); | |
| 8 testInitPoint2D(cv::Point_<int>(10, 20), 10, 20, 30); | |
| 9 testInitPoint2D(cv::Point_<float>(10.1, 20.1), 10.1, 20.1, 30.1); | |
| 10 testInitPoint2D(cv::Point_<double>(10.1, 20.1), 10.1, 20.1, 30.1); | |
| 11 | |
| 12 testInitPoint3D(cv::Point3_<ushort>(10, 20, 30), 10, 20, 30); | |
| 13 testInitPoint3D(cv::Point3_<short int>(10, 20, 30), 10, 20, 30); | |
| 14 testInitPoint3D(cv::Point3_<unsigned int>(10, 20, 30), 10, 20, 30); | |
| 15 testInitPoint3D(cv::Point3_<int>(10, 20, 30), 10, 20, 30); | |
| 16 testInitPoint3D(cv::Point3_<float>(10.1, 20.1, 30.1), 10.1, 20.1, 30.1); | |
| 17 testInitPoint3D(cv::Point3_<double>(10.1, 20.1, 30.1), 10.1, 20.1, 30.1); | |
| 18 | |
| 19 testInitPoint2D(cvPoint(10, 20), 10, 20, 30); | |
| 20 testInitPoint2D(cvPoint2D32f(10.1, 20.2), 10.1, 20.2, 30.3); | |
| 21 testInitPoint3D(cvPoint3D32f(10.1, 20.2, 30.3), 10.1, 20.2, 30.3); | |
| 22 testInitPoint2D(cvPoint2D64f(10.1, 20.2), 10.1, 20.2, 30.3); | |
| 23 testInitPoint3D(cvPoint3D64f(10.1, 20.2, 30.3), 10.1, 20.2, 30.3); | |
| 24 } | |
| 25 | |
| 26 void PointOperationsTest::testNorm(void) | |
| 27 { | |
| 28 CPPUNIT_ASSERT_EQUAL(norm(cvPoint(10, 20)), norm(cv::Point_<int>(10, 20))); | |
| 29 CPPUNIT_ASSERT_EQUAL(norm(cvPoint2D32f(10.1, 20.2)), norm(cv::Point_<float>(10.1, 20.2))); | |
| 30 CPPUNIT_ASSERT_EQUAL(norm(cvPoint3D32f(10.1, 20.2, 30.3)), norm(cv::Point3_<float>(10.1, 20.2, 30.3))); | |
| 31 CPPUNIT_ASSERT_EQUAL(norm(cvPoint2D64f(10.1, 20.2)), norm(cv::Point_<double>(10.1, 20.2))); | |
| 32 CPPUNIT_ASSERT_EQUAL(norm(cvPoint3D64f(10.1, 20.2, 30.3)), norm(cv::Point3_<double>(10.1, 20.2, 30.3))); | |
| 33 } | |
| 34 | |
| 35 void PointOperationsTest::testDim(void) | |
| 36 { | |
| 37 CPPUNIT_ASSERT_EQUAL(dim(cv::Point_<ushort>()), (unsigned int) 2); | |
| 38 CPPUNIT_ASSERT_EQUAL(dim(cv::Point_<short int>()), (unsigned int) 2); | |
| 39 CPPUNIT_ASSERT_EQUAL(dim(cv::Point_<unsigned int>()), (unsigned int) 2); | |
| 40 CPPUNIT_ASSERT_EQUAL(dim(cv::Point_<int>()), (unsigned int) 2); | |
| 41 CPPUNIT_ASSERT_EQUAL(dim(cv::Point_<float>()), (unsigned int) 2); | |
| 42 CPPUNIT_ASSERT_EQUAL(dim(cv::Point_<double>()), (unsigned int) 2); | |
| 43 | |
| 44 CPPUNIT_ASSERT_EQUAL(dim(cv::Point3_<ushort>()), (unsigned int) 3); | |
| 45 CPPUNIT_ASSERT_EQUAL(dim(cv::Point3_<short int>()), (unsigned int) 3); | |
| 46 CPPUNIT_ASSERT_EQUAL(dim(cv::Point3_<unsigned int>()), (unsigned int) 3); | |
| 47 CPPUNIT_ASSERT_EQUAL(dim(cv::Point3_<int>()), (unsigned int) 3); | |
| 48 CPPUNIT_ASSERT_EQUAL(dim(cv::Point3_<float>()), (unsigned int) 3); | |
| 49 CPPUNIT_ASSERT_EQUAL(dim(cv::Point3_<double>()), (unsigned int) 3); | |
| 50 | |
| 51 CPPUNIT_ASSERT_EQUAL(dim(CvPoint()), (unsigned int) 2); | |
| 52 CPPUNIT_ASSERT_EQUAL(dim(CvPoint2D32f()), (unsigned int) 2); | |
| 53 CPPUNIT_ASSERT_EQUAL(dim(CvPoint3D32f()), (unsigned int) 3); | |
| 54 CPPUNIT_ASSERT_EQUAL(dim(CvPoint2D64f()), (unsigned int) 2); | |
| 55 CPPUNIT_ASSERT_EQUAL(dim(CvPoint3D64f()), (unsigned int) 3); | |
| 56 } | |
| 57 | |
| 58 void PointOperationsTest::testMinMax(void) | |
| 59 { | |
| 60 testMinMax<cv::Point_<ushort>, ushort> (10, 20, 30, 20, 10, 20); | |
| 61 testMinMax<cv::Point_<short int>, short int> (10, 20, 30, 20, 10, 20); | |
| 62 testMinMax<cv::Point_<unsigned int>, unsigned int> (10, 20, 30, 20, 10, 20); | |
| 63 testMinMax<cv::Point_<int>, int> (10, 20, 30, 20, 10, 20); | |
| 64 testMinMax<cv::Point_<float>, float> (10.1, 20.2, 30.3, 20.4, 10.5, 20.6); | |
| 65 testMinMax<cv::Point_<double>, double> (10.1, 20.2, 30.3, 20.4, 10.5, 20.6); | |
| 66 | |
| 67 testMinMax<cv::Point3_<ushort>, ushort> (10, 20, 30, 20, 10, 20); | |
| 68 testMinMax<cv::Point3_<short int>, short int> (10, 20, 30, 20, 10, 20); | |
| 69 testMinMax<cv::Point3_<unsigned int>, unsigned int> (10, 20, 30, 20, 10, 20); | |
| 70 testMinMax<cv::Point3_<int>, int> (10, 20, 30, 20, 10, 20); | |
| 71 testMinMax<cv::Point3_<float>, float> (10.1, 20.2, 30.3, 20.4, 10.5, 20.6); | |
| 72 testMinMax<cv::Point3_<double>, double> (10.1, 20.2, 30.3, 20.4, 10.5, 20.6); | |
| 73 | |
| 74 testMinMax<CvPoint, int> (10, 20, 30, 20, 10, 20); | |
| 75 testMinMax<CvPoint2D32f, float> (10.1, 20.2, 30.3, 20.4, 10.5, 20.6); | |
| 76 testMinMax<CvPoint3D32f, float> (10.1, 20.2, 30.3, 20.4, 10.5, 20.6); | |
| 77 testMinMax<CvPoint2D64f, double> (10.1, 20.2, 30.3, 20.4, 10.5, 20.6); | |
| 78 testMinMax<CvPoint3D64f, double> (10.1, 20.2, 30.3, 20.4, 10.5, 20.6); | |
| 79 } | |
| 80 | |
| 81 void PointOperationsTest::testOperatorEqNotEq(void) | |
| 82 { | |
| 83 testOperatorEqNotEq<cv::Point_<ushort>, ushort> (10, 20, 30, 1); | |
| 84 testOperatorEqNotEq<cv::Point_<short int>, short int> (10, 20, 30, 1); | |
| 85 testOperatorEqNotEq<cv::Point_<unsigned int>, unsigned int> (10, 20, 30, 1); | |
| 86 testOperatorEqNotEq<cv::Point_<int>, int> (10, 20, 30, 1); | |
| 87 testOperatorEqNotEq<cv::Point_<float>, float> (10.1, 20.2, 30.3, 0.1); | |
| 88 testOperatorEqNotEq<cv::Point_<double>, double> (10.1, 20.2, 30.3, 0.1); | |
| 89 | |
| 90 testOperatorEqNotEq<cv::Point3_<ushort>, ushort> (10, 20, 30, 1); | |
| 91 testOperatorEqNotEq<cv::Point3_<short int>, short int> (10, 20, 30, 1); | |
| 92 testOperatorEqNotEq<cv::Point3_<unsigned int>, unsigned int> (10, 20, 30, 1); | |
| 93 testOperatorEqNotEq<cv::Point3_<int>, int> (10, 20, 30, 1); | |
| 94 testOperatorEqNotEq<cv::Point3_<float>, float> (10.1, 20.2, 30.3, 0.1); | |
| 95 testOperatorEqNotEq<cv::Point3_<double>, double> (10.1, 20.2, 30.3, 0.1); | |
| 96 | |
| 97 testOperatorEqNotEq<CvPoint, int> (10, 20, 30, 1); | |
| 98 testOperatorEqNotEq<CvPoint2D32f, float> (10.1, 20.2, 30.3, 0.1); | |
| 99 testOperatorEqNotEq<CvPoint3D32f, float> (10.1, 20.2, 30.3, 0.1); | |
| 100 testOperatorEqNotEq<CvPoint2D64f, double> (10.1, 20.2, 30.3, 0.1); | |
| 101 testOperatorEqNotEq<CvPoint3D64f, double> (10.1, 20.2, 30.3, 0.1); | |
| 102 } | |
| 103 | |
| 104 void PointOperationsTest::testOperatorMi1(void) | |
| 105 { | |
| 106 CPPUNIT_ASSERT_EQUAL(-cvPoint(10, -20), cvPoint(-10.1, 20.2)); | |
| 107 CPPUNIT_ASSERT_EQUAL(-cvPoint2D32f(10.1, -20.2), cvPoint2D32f(-10.1, 20.2)); | |
| 108 CPPUNIT_ASSERT_EQUAL(-cvPoint3D32f(10.1, -20.2, 30.3), cvPoint3D32f(-10.1, 20.2, -30.3)); | |
| 109 CPPUNIT_ASSERT_EQUAL(-cvPoint2D64f(10.1, -20.2), cvPoint2D64f(-10.1, 20.2)); | |
| 110 CPPUNIT_ASSERT_EQUAL(-cvPoint3D64f(10.1, -20.2, 30.3), cvPoint3D64f(-10.1, 20.2, -30.3)); | |
| 111 } | |
| 112 | |
| 113 void PointOperationsTest::testOperatorPl(void) | |
| 114 { | |
| 115 testOperatorPl(cvPoint(10, 20), cvPoint(1, 2), cvPoint(11, 22)); | |
| 116 testOperatorPl(cvPoint2D32f(10.1, 20.2), cvPoint2D32f(1.1, 2.2), cvPoint2D32f(11.2, 22.4)); | |
| 117 testOperatorPl(cvPoint3D32f(10.1, 20.2, 30.3), cvPoint3D32f(1.1, 2.2, 3.3), cvPoint3D32f(11.2, 22.4, 33.6)); | |
| 118 testOperatorPl(cvPoint2D64f(10.1, 20.2), cvPoint2D64f(1.1, 2.2), cvPoint2D64f(11.2, 22.4)); | |
| 119 testOperatorPl(cvPoint3D64f(10.1, 20.2, 30.3), cvPoint3D64f(1.1, 2.2, 3.3), cvPoint3D64f(11.2, 22.4, 33.6)); | |
| 120 } | |
| 121 | |
| 122 void PointOperationsTest::testOperatorMi2(void) | |
| 123 { | |
| 124 testOperatorMi(cvPoint(10, 20), cvPoint(1, 2), cvPoint(11, 22)); | |
| 125 testOperatorMi(cvPoint2D32f(10.1, 20.2), cvPoint2D32f(1.1, 2.2), cvPoint2D32f(11.2, 22.4)); | |
| 126 testOperatorMi(cvPoint3D32f(10.1, 20.2, 30.3), cvPoint3D32f(1.1, 2.2, 3.3), cvPoint3D32f(11.2, 22.4, 33.6)); | |
| 127 testOperatorMi(cvPoint2D64f(10.1, 20.2), cvPoint2D64f(1.1, 2.2), cvPoint2D64f(11.2, 22.4)); | |
| 128 testOperatorMi(cvPoint3D64f(10.1, 20.2, 30.3), cvPoint3D64f(1.1, 2.2, 3.3), cvPoint3D64f(11.2, 22.4, 33.6)); | |
| 129 } | |
| 130 | |
| 131 void PointOperationsTest::testOperatorInOut(void) | |
| 132 { | |
| 133 testOperatorInOut(cv::Point_<ushort>(10, 20), "10 20"); | |
| 134 testOperatorInOut(cv::Point_<short int>(10, 20), "10 20"); | |
| 135 testOperatorInOut(cv::Point_<unsigned int>(10, 20), "10 20"); | |
| 136 testOperatorInOut(cv::Point_<int>(10, 20), "10 20"); | |
| 137 testOperatorInOut(cv::Point_<float>(10.1, 20.2), "10.1 20.2"); | |
| 138 testOperatorInOut(cv::Point_<double>(10.1, 20.2), "10.1 20.2"); | |
| 139 | |
| 140 testOperatorInOut(cv::Point3_<ushort>(10, 20, 30), "10 20 30"); | |
| 141 testOperatorInOut(cv::Point3_<short int>(10, 20, 30), "10 20 30"); | |
| 142 testOperatorInOut(cv::Point3_<unsigned int>(10, 20, 30), "10 20 30"); | |
| 143 testOperatorInOut(cv::Point3_<int>(10, 20, 30), "10 20 30"); | |
| 144 testOperatorInOut(cv::Point3_<float>(10.1, 20.2, 30.3), "10.1 20.2 30.3"); | |
| 145 testOperatorInOut(cv::Point3_<double>(10.1, 20.2, 30.3), "10.1 20.2 30.3"); | |
| 146 | |
| 147 testOperatorInOut(cvPoint(10, 20), "10 20"); | |
| 148 testOperatorInOut(cvPoint2D32f(10.1, 20.2), "10.1 20.2"); | |
| 149 testOperatorInOut(cvPoint3D32f(10.1, 20.2, 30.3), "10.1 20.2 30.3"); | |
| 150 testOperatorInOut(cvPoint2D64f(10.1, 20.2), "10.1 20.2"); | |
| 151 testOperatorInOut(cvPoint3D64f(10.1, 20.2, 30.3), "10.1 20.2 30.3"); | |
| 152 } |
