2 * Copyright (c) 2017 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.
21 #include <dali/public-api/dali-core.h>
22 #include <dali-test-suite-utils.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);