1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
#include <gtest/gtest.h>
#include <gmock/gmock.h>
#include "Nux/Nux.h"
#include "Nux/EMMetrics.h"
namespace {
TEST(TestMetrics, TestCreate)
{
// Test fallback (no display) of constructor, DPI of 96.0 will be used
nux::EMMetrics* metrics5 = new nux::EMMetrics(NULL, 0, 5.0);
nux::EMMetrics* metrics10 = new nux::EMMetrics(NULL, 0, 10.0);
nux::EMMetrics* metrics15 = new nux::EMMetrics(NULL, 0, 15.0);
nux::EMMetrics* metrics20 = new nux::EMMetrics(NULL, 0, 20.0);
// Test conversion from pixel to EM (testing fallback-case) 5-point font
EXPECT_EQ(metrics5->Pixel2EM(30), 4.5);
EXPECT_EQ(metrics5->Pixel2EM(25), 3.75);
EXPECT_EQ(metrics5->Pixel2EM(20), 3.0);
EXPECT_EQ(metrics5->Pixel2EM(15), 2.25);
EXPECT_EQ(metrics5->Pixel2EM(10), 1.5);
EXPECT_EQ(metrics5->Pixel2EM(5), 0.75);
EXPECT_EQ(metrics5->Pixel2EM(0), 0.0);
// Test conversion from EM to pixel (testing fallback-case) 5-point font
EXPECT_EQ(metrics5->EM2Pixel(4.5), 30);
EXPECT_EQ(metrics5->EM2Pixel(3.75), 25);
EXPECT_EQ(metrics5->EM2Pixel(3.0), 20);
EXPECT_EQ(metrics5->EM2Pixel(2.25), 15);
EXPECT_EQ(metrics5->EM2Pixel(1.5), 10);
EXPECT_EQ(metrics5->EM2Pixel(0.75), 5);
EXPECT_EQ(metrics5->EM2Pixel(0.0), 0);
// Test conversion from pixel to EM (testing fallback-case) 10-point font
EXPECT_EQ(metrics10->Pixel2EM(30), 2.25);
EXPECT_EQ(metrics10->Pixel2EM(25), 1.875);
EXPECT_EQ(metrics10->Pixel2EM(20), 1.5);
EXPECT_EQ(metrics10->Pixel2EM(15), 1.125);
EXPECT_EQ(metrics10->Pixel2EM(10), 0.75);
EXPECT_EQ(metrics10->Pixel2EM(5), 0.375);
EXPECT_EQ(metrics10->Pixel2EM(0), 0.0);
// Test conversion from EM to pixel (testing fallback-case) 10-point font
EXPECT_EQ(metrics10->EM2Pixel(2.25), 30);
EXPECT_EQ(metrics10->EM2Pixel(1.875), 25);
EXPECT_EQ(metrics10->EM2Pixel(1.5), 20);
EXPECT_EQ(metrics10->EM2Pixel(1.125), 15);
EXPECT_EQ(metrics10->EM2Pixel(0.75), 10);
EXPECT_EQ(metrics10->EM2Pixel(0.375), 5);
EXPECT_EQ(metrics10->EM2Pixel(0.0), 0);
// Test conversion from pixel to EM (testing fallback-case) 15-point font
EXPECT_EQ(metrics15->Pixel2EM(30), 1.5);
EXPECT_EQ(metrics15->Pixel2EM(25), 1.25);
EXPECT_EQ(metrics15->Pixel2EM(20), 1.0);
EXPECT_EQ(metrics15->Pixel2EM(15), 0.75);
EXPECT_EQ(metrics15->Pixel2EM(10), 0.5);
EXPECT_EQ(metrics15->Pixel2EM(5), 0.25);
EXPECT_EQ(metrics15->Pixel2EM(0), 0.0);
// Test conversion from EM to pixel (testing fallback-case) 15-point font
EXPECT_EQ(metrics15->EM2Pixel(1.5), 30);
EXPECT_EQ(metrics15->EM2Pixel(1.25), 25);
EXPECT_EQ(metrics15->EM2Pixel(1.0), 20);
EXPECT_EQ(metrics15->EM2Pixel(0.75), 15);
EXPECT_EQ(metrics15->EM2Pixel(0.5), 10);
EXPECT_EQ(metrics15->EM2Pixel(0.25), 5);
EXPECT_EQ(metrics15->EM2Pixel(0.0), 0);
// Test conversion from pixel to EM (testing fallback-case) 20-point font
EXPECT_EQ(metrics20->Pixel2EM(30), 1.125);
EXPECT_EQ(metrics20->Pixel2EM(25), 0.9375);
EXPECT_EQ(metrics20->Pixel2EM(20), 0.75);
EXPECT_EQ(metrics20->Pixel2EM(15), 0.5625);
EXPECT_EQ(metrics20->Pixel2EM(10), 0.375);
EXPECT_EQ(metrics20->Pixel2EM(5), 0.1875);
EXPECT_EQ(metrics20->Pixel2EM(0), 0.0);
// Test conversion from EM to pixel (testing fallback-case) 20-point font
EXPECT_EQ(metrics20->EM2Pixel(1.125), 30);
EXPECT_EQ(metrics20->EM2Pixel(0.9375), 25);
EXPECT_EQ(metrics20->EM2Pixel(0.75), 20);
EXPECT_EQ(metrics20->EM2Pixel(0.5625), 15);
EXPECT_EQ(metrics20->EM2Pixel(0.375), 10);
EXPECT_EQ(metrics20->EM2Pixel(0.1875), 5);
EXPECT_EQ(metrics20->EM2Pixel(0.0), 0);
delete metrics5;
delete metrics10;
delete metrics15;
delete metrics20;
}
} // unnamed namespace
|