2 * Copyright (c) 2014 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.
22 #include <dali/dali.h>
23 #include <dali-test-suite-utils.h>
24 #include <dali/internal/text-abstraction/font-client-helper.h>
28 int UtcDaliFontClient(void)
30 const int ORDERED_VALUES[] = { -1, 50, 63, 75, 87, 100, 113, 125, 150, 200 };
32 const unsigned int NUM_OF_ORDERED_VALUES = sizeof( ORDERED_VALUES ) / sizeof( int );
34 TestApplication application;
37 tet_infoline("UtcDaliFontClient No table");
38 result = TextAbstraction::Internal::ValueToIndex( 100, NULL, 0u );
39 DALI_TEST_EQUALS( -1, result, TEST_LOCATION );
41 tet_infoline("UtcDaliFontClient Non defined values");
42 result = TextAbstraction::Internal::ValueToIndex( -1, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
43 DALI_TEST_EQUALS( 0, result, TEST_LOCATION );
44 result = TextAbstraction::Internal::ValueToIndex( -3, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
45 DALI_TEST_EQUALS( 0, result, TEST_LOCATION );
47 tet_infoline("UtcDaliFontClient Between non defined and first of range.");
48 result = TextAbstraction::Internal::ValueToIndex( 0, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
49 DALI_TEST_EQUALS( 1, result, TEST_LOCATION );
50 result = TextAbstraction::Internal::ValueToIndex( 30, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
51 DALI_TEST_EQUALS( 1, result, TEST_LOCATION );
52 result = TextAbstraction::Internal::ValueToIndex( 49, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
53 DALI_TEST_EQUALS( 1, result, TEST_LOCATION );
55 tet_infoline("UtcDaliFontClient Defined in range");
56 for( unsigned int index = 1u; index < NUM_OF_ORDERED_VALUES; ++index )
58 result = TextAbstraction::Internal::ValueToIndex( ORDERED_VALUES[index], ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
59 DALI_TEST_EQUALS( index, result, TEST_LOCATION );
62 tet_infoline("UtcDaliFontClient Non defined in range");
63 result = TextAbstraction::Internal::ValueToIndex( 51, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
64 DALI_TEST_EQUALS( 1, result, TEST_LOCATION );
65 result = TextAbstraction::Internal::ValueToIndex( 55, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
66 DALI_TEST_EQUALS( 1, result, TEST_LOCATION );
67 result = TextAbstraction::Internal::ValueToIndex( 62, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
68 DALI_TEST_EQUALS( 2, result, TEST_LOCATION );
69 result = TextAbstraction::Internal::ValueToIndex( 64, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
70 DALI_TEST_EQUALS( 2, result, TEST_LOCATION );
71 result = TextAbstraction::Internal::ValueToIndex( 151, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
72 DALI_TEST_EQUALS( 8, result, TEST_LOCATION );
73 result = TextAbstraction::Internal::ValueToIndex( 175, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
74 DALI_TEST_EQUALS( 9, result, TEST_LOCATION );
75 result = TextAbstraction::Internal::ValueToIndex( 176, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
76 DALI_TEST_EQUALS( 9, result, TEST_LOCATION );
77 result = TextAbstraction::Internal::ValueToIndex( 199, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
78 DALI_TEST_EQUALS( 9, result, TEST_LOCATION );
80 tet_infoline("UtcDaliFontClient above of range");
81 result = TextAbstraction::Internal::ValueToIndex( 220, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
82 DALI_TEST_EQUALS( 9, result, TEST_LOCATION );
83 result = TextAbstraction::Internal::ValueToIndex( 500, ORDERED_VALUES, NUM_OF_ORDERED_VALUES - 1u );
84 DALI_TEST_EQUALS( 9, result, TEST_LOCATION );