1 #include "gtest/gtest.h"
6 using namespace suanzi;
9 TEST(Distance, consine)
14 double d = distance_cosine(u, v);
15 EXPECT_DOUBLE_EQ(d, 1.0);
19 d = distance_cosine(u, v);
20 EXPECT_DOUBLE_EQ(d, 1.0);
24 d = distance_cosine(u, v);
25 EXPECT_TRUE(std::abs(d - 0.2928932) < 0.0001);
28 TEST(Distance, euclidean)
33 double d = distance_euclidean(u, v);
34 EXPECT_TRUE(std::abs(d - 1.41421356) < 0.0001);
38 d = distance_euclidean(u, v);
39 EXPECT_DOUBLE_EQ(d, 1.0);
42 TEST(MultiTracker, getRectInDetection)
50 Rect r = getRectInDetection(d);
53 EXPECT_EQ(r.width, 10);
54 EXPECT_EQ(r.height, 10);
57 TEST(MultiTracker, calc_iou_ratio1)
59 Rect r1 (0, 0, 10, 10);
60 Rect r2 (0, 0, 10, 10);
61 double iou = calc_iou_ratio(r1, r2);
62 cout << "iou = " << iou << endl;
64 EXPECT_GE (iou, 0); // > 0
65 EXPECT_TRUE(abs(iou - expect) < 0.001); // Expect is 1.0
68 TEST(MultiTracker, calc_iou_ratio2)
70 Rect r1 (0, 0, 10, 10);
71 Rect r2 (10, 10, 10, 10);
72 double iou = calc_iou_ratio(r1, r2);
73 cout << "iou = " << iou << endl;
75 EXPECT_EQ (iou, 0.0); // = 0
76 EXPECT_TRUE(abs(iou - expect) < 0.001); // Expect is = 0
79 TEST(MultiTracker, calc_iou_ratio3)
81 Rect r1 (0, 0, 10, 10);
82 Rect r2 (20, 20, 10, 10);
83 double iou = calc_iou_ratio(r1, r2);
84 cout << "iou = " << iou << endl;
85 double expect = -(1.0 / 9);
86 EXPECT_LT (iou, 0.0); // < 0
87 EXPECT_TRUE(abs(iou - expect) < 0.0001); // Expect is < -0.111