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.
20 #include <dali-test-suite-utils.h>
21 #include <dali/dali.h>
22 #include <dali/internal/text/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);