Upload package dali_0.9.11.
[platform/core/uifw/dali-core.git] / automated-tests / TET / dali-test-suite / text / utc-Dali-FontParameters.cpp
1 //
2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://floralicense.org/license/
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 #include <iostream>
18
19 #include <stdlib.h>
20 #include <tet_api.h>
21 #include <errno.h>
22 #include <dali/public-api/dali-core.h>
23
24 #include <dali-test-suite-utils.h>
25
26 using namespace Dali;
27
28 static void Startup();
29 static void Cleanup();
30
31 extern "C" {
32   void (*tet_startup)() = Startup;
33   void (*tet_cleanup)() = Cleanup;
34 }
35
36 enum {
37   POSITIVE_TC_IDX = 0x01,
38   NEGATIVE_TC_IDX,
39 };
40
41 #define MAX_NUMBER_OF_TESTS 10000
42 extern "C" {
43   struct tet_testlist tet_testlist[MAX_NUMBER_OF_TESTS];
44 }
45
46 // Add test functionality for all APIs in the class (Positive and Negative)
47 TEST_FUNCTION( UtcDaliFontParamsDefaultConstructor,              POSITIVE_TC_IDX );
48 TEST_FUNCTION( UtcDaliFontParamsPointSizeConstructor,            POSITIVE_TC_IDX );
49 TEST_FUNCTION( UtcDaliFontParamsPixelSizeConstructor,            POSITIVE_TC_IDX );
50 TEST_FUNCTION( UtcDaliFontParamsCopyConstructor,                 POSITIVE_TC_IDX );
51 TEST_FUNCTION( UtcDaliFontParamsAssignmentOperator,              POSITIVE_TC_IDX );
52 TEST_FUNCTION( UtcDaliFontParamsPointSizeEqualityOperator,       POSITIVE_TC_IDX );
53
54
55 const std::string FAMILY_NAME = "Arial";
56 const std::string STYLE = "Bold";
57 const unsigned int PIXEL_SIZE = 20;
58 const unsigned int POINT_SIZE = 11.f;
59
60
61
62 // Called only once before first test is run.
63 static void Startup()
64 {
65 }
66
67 // Called only once after last test is run
68 static void Cleanup()
69 {
70 }
71
72 static void UtcDaliFontParamsDefaultConstructor()
73 {
74   TestApplication application;
75   tet_infoline("Testing UtcDaliFontParamsDefaultConstructor");
76   FontParameters params;
77
78   DALI_TEST_CHECK(params.GetFamilyName() == "" );
79   DALI_TEST_CHECK(params.GetStyle() == "" );
80   DALI_TEST_EQUALS( float(params.GetSize()) , 0.f , Math::MACHINE_EPSILON_10000, TEST_LOCATION );
81
82 }
83 static void UtcDaliFontParamsPointSizeConstructor()
84 {
85   TestApplication application;
86   tet_infoline("Testing UtcDaliFontParamsPointSizeConstructor");
87
88   PointSize pointSize( POINT_SIZE );
89   FontParameters params( FAMILY_NAME, STYLE, pointSize);
90
91   DALI_TEST_CHECK(params.GetFamilyName() == FAMILY_NAME );
92   DALI_TEST_CHECK(params.GetStyle() == STYLE );
93   DALI_TEST_EQUALS( float(params.GetSize()), float(pointSize), Math::MACHINE_EPSILON_10000, TEST_LOCATION );
94 }
95
96 static void UtcDaliFontParamsPixelSizeConstructor()
97 {
98   TestApplication application;
99   tet_infoline("Testing UtcDaliFontParamsPixelSizeConstructor");
100
101   PixelSize pixelSize( PIXEL_SIZE );
102   FontParameters params( FAMILY_NAME, STYLE, pixelSize);
103
104   DALI_TEST_CHECK(params.GetFamilyName() == FAMILY_NAME );
105   DALI_TEST_CHECK(params.GetStyle() == STYLE );
106   DALI_TEST_EQUALS( float(params.GetSize()), Font::PixelsToPoints( PIXEL_SIZE ) , Math::MACHINE_EPSILON_10000, TEST_LOCATION );
107
108 }
109
110 static void UtcDaliFontParamsCopyConstructor()
111 {
112   TestApplication application;
113   tet_infoline("Testing UtcDaliFontParamsCopyConstructor");
114   PixelSize pixelSize( PIXEL_SIZE );
115   FontParameters params( FAMILY_NAME, STYLE, pixelSize);
116
117
118   FontParameters params2( params );
119   DALI_TEST_CHECK(params2.GetFamilyName() == FAMILY_NAME );
120   DALI_TEST_CHECK(params2.GetStyle() == STYLE );
121   DALI_TEST_EQUALS( float(params2.GetSize()), Font::PixelsToPoints( PIXEL_SIZE ) , Math::MACHINE_EPSILON_10000, TEST_LOCATION );
122
123 }
124
125 static void UtcDaliFontParamsAssignmentOperator()
126 {
127   TestApplication application;
128   tet_infoline("Testing UtcDaliFontParamsAssignmentOperator");
129   PixelSize pixelSize( PIXEL_SIZE );
130   FontParameters params( FAMILY_NAME, STYLE, pixelSize);
131
132   FontParameters params2;
133   params2 = params;
134   DALI_TEST_CHECK(params2.GetFamilyName() == FAMILY_NAME );
135   DALI_TEST_CHECK(params2.GetStyle() == STYLE );
136   DALI_TEST_EQUALS( float(params2.GetSize()) ,Font::PixelsToPoints( PIXEL_SIZE ) , Math::MACHINE_EPSILON_10000, TEST_LOCATION );
137
138   // for coverage self assignment
139   params2 = params2;
140   DALI_TEST_CHECK(params2.GetFamilyName() == FAMILY_NAME );
141
142 }
143 static void UtcDaliFontParamsPointSizeEqualityOperator()
144 {
145   TestApplication application;
146   tet_infoline("Testing UtcDaliFontParamsPixelSizeConstructor");
147   PointSize pointSize1(1.f);
148   PointSize pointSize2(2.f);
149   DALI_TEST_CHECK( pointSize1 != pointSize2 );
150
151 }