2 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 #include <dali-test-suite-utils.h>
19 #include <dali/public-api/dali-core.h>
28 /// Compare a uint16_t value with an unsigned int
29 void DALI_TEST_EQUALS(uint16_t value1, unsigned int value2, const char* location)
31 ::DALI_TEST_EQUALS<uint16_t>(value1, static_cast<uint16_t>(value2), location);
33 } // unnamed namespace
35 void utc_dali_extents_startup(void)
37 test_return_value = TET_UNDEF;
40 void utc_dali_extents_cleanup(void)
42 test_return_value = TET_PASS;
45 int UtcDaliExtentsConstructor01(void)
47 TestApplication application;
50 DALI_TEST_EQUALS(extent.start, 0u, TEST_LOCATION);
51 DALI_TEST_EQUALS(extent.end, 0u, TEST_LOCATION);
52 DALI_TEST_EQUALS(extent.top, 0u, TEST_LOCATION);
53 DALI_TEST_EQUALS(extent.bottom, 0u, TEST_LOCATION);
57 int UtcDaliExtentsConstructor02(void)
59 TestApplication application;
61 Extents extent(10u, 20u, 400u, 200u);
62 DALI_TEST_EQUALS(extent.start, 10u, TEST_LOCATION);
63 DALI_TEST_EQUALS(extent.end, 20u, TEST_LOCATION);
64 DALI_TEST_EQUALS(extent.top, 400u, TEST_LOCATION);
65 DALI_TEST_EQUALS(extent.bottom, 200u, TEST_LOCATION);
69 int UtcDaliExtentsConstructor03(void)
71 TestApplication application;
73 Extents extent(10u, 20u, 400u, 200u);
77 DALI_TEST_EQUALS(e2.start, 10u, TEST_LOCATION);
78 DALI_TEST_EQUALS(e2.end, 20u, TEST_LOCATION);
79 DALI_TEST_EQUALS(e2.top, 400u, TEST_LOCATION);
80 DALI_TEST_EQUALS(e2.bottom, 200u, TEST_LOCATION);
84 int UtcDaliExtentsCopyConstructor(void)
86 TestApplication application;
88 Extents extent(10u, 20u, 400u, 200u);
90 Extents extent2(extent);
92 DALI_TEST_EQUALS(extent2.start, 10u, TEST_LOCATION);
93 DALI_TEST_EQUALS(extent2.end, 20u, TEST_LOCATION);
94 DALI_TEST_EQUALS(extent2.top, 400u, TEST_LOCATION);
95 DALI_TEST_EQUALS(extent2.bottom, 200u, TEST_LOCATION);
99 int UtcDaliExtentsCopyAssignment(void)
101 TestApplication application;
105 Extents extent2(10u, 20u, 400u, 200u);
108 DALI_TEST_EQUALS(extent.start, 10u, TEST_LOCATION);
109 DALI_TEST_EQUALS(extent.end, 20u, TEST_LOCATION);
110 DALI_TEST_EQUALS(extent.top, 400u, TEST_LOCATION);
111 DALI_TEST_EQUALS(extent.bottom, 200u, TEST_LOCATION);
115 int UtcDaliExtentsMoveConstructor(void)
117 TestApplication application;
119 Extents extent(10u, 20u, 400u, 200u);
121 Extents extent2(std::move(extent));
123 DALI_TEST_EQUALS(extent2.start, 10u, TEST_LOCATION);
124 DALI_TEST_EQUALS(extent2.end, 20u, TEST_LOCATION);
125 DALI_TEST_EQUALS(extent2.top, 400u, TEST_LOCATION);
126 DALI_TEST_EQUALS(extent2.bottom, 200u, TEST_LOCATION);
130 int UtcDaliExtentsMoveAssignment(void)
132 TestApplication application;
136 Extents extent2(10u, 20u, 400u, 200u);
137 extent = std::move(extent2);
139 DALI_TEST_EQUALS(extent.start, 10u, TEST_LOCATION);
140 DALI_TEST_EQUALS(extent.end, 20u, TEST_LOCATION);
141 DALI_TEST_EQUALS(extent.top, 400u, TEST_LOCATION);
142 DALI_TEST_EQUALS(extent.bottom, 200u, TEST_LOCATION);
146 int UtcDaliExtentsAssignP(void)
149 const uint16_t array[] = {1u, 2u, 3u, 4u};
150 extent = (const uint16_t*)array;
152 DALI_TEST_EQUALS(extent.start, 1u, TEST_LOCATION);
153 DALI_TEST_EQUALS(extent.end, 2u, TEST_LOCATION);
154 DALI_TEST_EQUALS(extent.top, 3u, TEST_LOCATION);
155 DALI_TEST_EQUALS(extent.bottom, 4u, TEST_LOCATION);
159 int UtcDaliExtentsOperatorNotEquals(void)
161 TestApplication application;
163 Extents extent1(10u, 20u, 200u, 200u);
164 Extents extent2(10u, 120u, 200u, 200u);
165 Extents extent3(10u, 80u, 200u, 200u);
167 DALI_TEST_CHECK(extent1 != extent2);
168 DALI_TEST_CHECK(extent1 != extent3);
172 int UtcDaliExtentsOperatorEquals(void)
174 TestApplication application;
176 Extents extent1(10u, 20u, 200u, 200u);
177 Extents extent1p(10u, 20u, 200u, 200u);
179 Extents extent2(10u, 120u, 200u, 200u);
180 Extents extent3(10u, 80u, 200u, 200u);
182 DALI_TEST_CHECK(extent1 == extent1p);
183 DALI_TEST_CHECK(extent1 == extent1);
184 DALI_TEST_CHECK(!(extent1 == extent2));
185 DALI_TEST_CHECK(!(extent1 == extent3));
190 int UtcDaliExtentsOStreamOperatorP(void)
192 TestApplication application;
193 std::ostringstream oss;
195 Extents extent(1u, 2u, 10u, 10u);
199 std::string expectedOutput = "[1, 2, 10, 10]";
201 DALI_TEST_EQUALS(oss.str(), expectedOutput, TEST_LOCATION);