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 UtcDaliExtentsAssignP(void)
118 const uint16_t array[] = {1u, 2u, 3u, 4u};
119 extent = (const uint16_t*)array;
121 DALI_TEST_EQUALS(extent.start, 1u, TEST_LOCATION);
122 DALI_TEST_EQUALS(extent.end, 2u, TEST_LOCATION);
123 DALI_TEST_EQUALS(extent.top, 3u, TEST_LOCATION);
124 DALI_TEST_EQUALS(extent.bottom, 4u, TEST_LOCATION);
128 int UtcDaliExtentsOperatorNotEquals(void)
130 TestApplication application;
132 Extents extent1(10u, 20u, 200u, 200u);
133 Extents extent2(10u, 120u, 200u, 200u);
134 Extents extent3(10u, 80u, 200u, 200u);
136 DALI_TEST_CHECK(extent1 != extent2);
137 DALI_TEST_CHECK(extent1 != extent3);
141 int UtcDaliExtentsOperatorEquals(void)
143 TestApplication application;
145 Extents extent1(10u, 20u, 200u, 200u);
146 Extents extent1p(10u, 20u, 200u, 200u);
148 Extents extent2(10u, 120u, 200u, 200u);
149 Extents extent3(10u, 80u, 200u, 200u);
151 DALI_TEST_CHECK(extent1 == extent1p);
152 DALI_TEST_CHECK(extent1 == extent1);
153 DALI_TEST_CHECK(!(extent1 == extent2));
154 DALI_TEST_CHECK(!(extent1 == extent3));
159 int UtcDaliExtentsOStreamOperatorP(void)
161 TestApplication application;
162 std::ostringstream oss;
164 Extents extent(1u, 2u, 10u, 10u);
168 std::string expectedOutput = "[1, 2, 10, 10]";
170 DALI_TEST_EQUALS(oss.str(), expectedOutput, TEST_LOCATION);