Revert "[Tizen] Appendix log for ttrace + Print keycode and timestamp"
[platform/core/uifw/dali-core.git] / automated-tests / src / dali / utc-Dali-Radian.cpp
1 /*
2  * Copyright (c) 2020 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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
18 #include <dali-test-suite-utils.h>
19 #include <dali/public-api/dali-core.h>
20 #include <stdlib.h>
21
22 #include <iostream>
23
24 using namespace Dali;
25
26 void utc_dali_radian_startup(void)
27 {
28   test_return_value = TET_UNDEF;
29 }
30
31 void utc_dali_radian_cleanup(void)
32 {
33   test_return_value = TET_PASS;
34 }
35
36 // Positive test case for constructors
37 int UtcDaliRadianConstructors01(void)
38 {
39   // Default constructor, does not initialise the value
40   Radian radian0(0.0f);
41
42   // Test float assignment operator
43   radian0 = Math::PI;
44   DALI_TEST_EQUALS(float(radian0), Math::PI, 0.001f, TEST_LOCATION);
45
46   // Constructor from float value
47   Radian radian1(Math::PI);
48   DALI_TEST_EQUALS(float(radian1), Math::PI, 0.001f, TEST_LOCATION);
49
50   // Constructor from a Degree
51   Radian radian2(Degree(180.0f));
52   DALI_TEST_EQUALS(float(radian2), Math::PI, 0.001f, TEST_LOCATION);
53
54   // Assignment from Degree
55   Radian radian3(0.0f);
56   radian3 = Degree(180.0f);
57   DALI_TEST_EQUALS(float(radian3), Math::PI, 0.001f, TEST_LOCATION);
58   END_TEST;
59 }
60
61 int UtcDaliRadianCopyConstructor(void)
62 {
63   Radian radian0(Math::PI);
64   Radian radian1(radian0);
65   DALI_TEST_EQUALS(float(radian1), Math::PI, 0.001f, TEST_LOCATION);
66
67   END_TEST;
68 }
69
70 int UtcDaliRadianMoveConstructor(void)
71 {
72   Radian radian0(Math::PI);
73   Radian radian1 = std::move(radian0);
74   DALI_TEST_EQUALS(float(radian1), Math::PI, 0.001f, TEST_LOCATION);
75
76   END_TEST;
77 }
78
79 int UtcDaliRadianCopyAssignment(void)
80 {
81   Radian radian0(Math::PI);
82   Radian radian1;
83   radian1 = radian0;
84   DALI_TEST_EQUALS(float(radian1), Math::PI, 0.001f, TEST_LOCATION);
85
86   END_TEST;
87 }
88
89 int UtcDaliRadianMoveAssignment(void)
90 {
91   Radian radian0(Math::PI);
92   Radian radian1;
93   radian1 = std::move(radian0);
94   DALI_TEST_EQUALS(float(radian1), Math::PI, 0.001f, TEST_LOCATION);
95
96   END_TEST;
97 }
98
99 // Positive test case for comparison
100 int UtcDaliRadianComparison01(void)
101 {
102   // Comparison between radians
103   Radian radian0(Math::PI_2);
104   Radian radian1(Math::PI_2);
105   Radian radian2(Math::PI);
106
107   DALI_TEST_CHECK(radian0 == radian1);
108   DALI_TEST_CHECK(radian0 != radian2);
109
110   // Comparison between radian to degree
111   Radian radian3(Math::PI);
112   Radian radian4(Math::PI_2);
113   Degree degree0(180.0f);
114
115   DALI_TEST_CHECK(radian3 == Radian(degree0));
116   DALI_TEST_CHECK(radian4 != Radian(degree0));
117
118   // Comparison with float
119   Radian radian5(Math::PI_2);
120
121   DALI_TEST_CHECK(radian5 == Math::PI_2);
122   DALI_TEST_CHECK(radian5 != Math::PI);
123
124   END_TEST;
125 }
126
127 // test case for cast operators
128 int UtcDaliRadianCastOperators01(void)
129 {
130   Radian radian0(Math::PI);
131
132   const float& value0(radian0.radian);
133   DALI_TEST_EQUALS(value0, Math::PI, 0.001f, TEST_LOCATION);
134
135   radian0 = Math::PI_2;
136   DALI_TEST_EQUALS(value0, Math::PI_2, 0.001f, TEST_LOCATION);
137
138   float value1(radian0);
139   DALI_TEST_EQUALS(value1, Math::PI_2, 0.001f, TEST_LOCATION);
140
141   radian0 = Math::PI;
142   DALI_TEST_EQUALS(float(radian0), Math::PI, 0.001f, TEST_LOCATION);
143   END_TEST;
144 }
145
146 int UtcDaliRadianCastOperatorEquals(void)
147 {
148   Radian a(Math::PI_2);
149   Radian b(Math::PI_2);
150   Radian c(Math::PI);
151
152   DALI_TEST_EQUALS(a == a, true, TEST_LOCATION);
153   DALI_TEST_EQUALS(a == b, true, TEST_LOCATION);
154   DALI_TEST_EQUALS(a == c, false, TEST_LOCATION);
155   DALI_TEST_EQUALS(Degree(c) == c, true, TEST_LOCATION);
156   END_TEST;
157 }
158
159 int UtcDaliRadianCastOperatorNotEquals(void)
160 {
161   Radian a(Math::PI_2);
162   Radian b(Math::PI_2);
163   Radian c(Math::PI);
164
165   DALI_TEST_EQUALS(a != a, false, TEST_LOCATION);
166   DALI_TEST_EQUALS(a != b, false, TEST_LOCATION);
167   DALI_TEST_EQUALS(a != c, true, TEST_LOCATION);
168   DALI_TEST_EQUALS(Degree(a) != c, true, TEST_LOCATION);
169   END_TEST;
170 }
171
172 int UtcDaliRadianCastOperatorLessThan(void)
173 {
174   Radian a(Math::PI_4);
175   Radian b(Math::PI_2);
176   Radian c(Math::PI);
177   Radian d(2.0f * Math::PI);
178   Radian e(-Math::PI);
179
180   DALI_TEST_EQUALS(a < a, false, TEST_LOCATION);
181   DALI_TEST_EQUALS(a < b, true, TEST_LOCATION);
182   DALI_TEST_EQUALS(a < c, true, TEST_LOCATION);
183   DALI_TEST_EQUALS(a < d, true, TEST_LOCATION);
184   DALI_TEST_EQUALS(a < e, false, TEST_LOCATION);
185
186   DALI_TEST_EQUALS(b < a, false, TEST_LOCATION);
187   DALI_TEST_EQUALS(b < b, false, TEST_LOCATION);
188   DALI_TEST_EQUALS(c < b, false, TEST_LOCATION);
189   DALI_TEST_EQUALS(d < b, false, TEST_LOCATION);
190   DALI_TEST_EQUALS(e < b, true, TEST_LOCATION);
191
192   DALI_TEST_EQUALS(Radian(Math::PI_2) < Degree(180.0f), true, TEST_LOCATION);
193   DALI_TEST_EQUALS(Radian(Math::PI_2) < Degree(90.0f), false, TEST_LOCATION);
194   DALI_TEST_EQUALS(Radian(Math::PI_2) > Degree(45.0f), true, TEST_LOCATION);
195
196   DALI_TEST_EQUALS(Degree(180.0f) > Radian(Math::PI_2), true, TEST_LOCATION);
197   DALI_TEST_EQUALS(Degree(90.0f) > Radian(Math::PI_2), false, TEST_LOCATION);
198   DALI_TEST_EQUALS(Degree(45.0f) < Radian(Math::PI_2), true, TEST_LOCATION);
199
200   END_TEST;
201 }