blob: 9662182b8cf864ee45e4329f0e172096798eb289 [file] [log] [blame]
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.view.textclassifier;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
@SmallTest
@RunWith(AndroidJUnit4.class)
public class TextClassificationConstantsTest {
@Test
public void testLoadFromString() {
final String s = "local_textclassifier_enabled=true,"
+ "system_textclassifier_enabled=true,"
+ "model_dark_launch_enabled=true,"
+ "smart_selection_enabled=true,"
+ "smart_text_share_enabled=true,"
+ "smart_linkify_enabled=true,"
+ "smart_select_animation_enabled=true,"
+ "suggest_selection_max_range_length=10,"
+ "classify_text_max_range_length=11,"
+ "generate_links_max_text_length=12,"
+ "generate_links_log_sample_rate=13";
final TextClassificationConstants constants =
TextClassificationConstants.loadFromString(s);
assertTrue("local_textclassifier_enabled",
constants.isLocalTextClassifierEnabled());
assertTrue("system_textclassifier_enabled",
constants.isSystemTextClassifierEnabled());
assertTrue("model_dark_launch_enabled", constants.isModelDarkLaunchEnabled());
assertTrue("smart_selection_enabled", constants.isSmartSelectionEnabled());
assertTrue("smart_text_share_enabled", constants.isSmartTextShareEnabled());
assertTrue("smart_linkify_enabled", constants.isSmartLinkifyEnabled());
assertTrue("smart_select_animation_enabled", constants.isSmartSelectionAnimationEnabled());
assertEquals("suggest_selection_max_range_length",
10, constants.getSuggestSelectionMaxRangeLength());
assertEquals("classify_text_max_range_length",
11, constants.getClassifyTextMaxRangeLength());
assertEquals("generate_links_max_text_length",
12, constants.getGenerateLinksMaxTextLength());
assertEquals("generate_links_log_sample_rate",
13, constants.getGenerateLinksLogSampleRate());
}
@Test
public void testLoadFromString_differentValues() {
final String s = "local_textclassifier_enabled=false,"
+ "system_textclassifier_enabled=false,"
+ "model_dark_launch_enabled=false,"
+ "smart_selection_enabled=false,"
+ "smart_text_share_enabled=false,"
+ "smart_linkify_enabled=false,"
+ "smart_select_animation_enabled=false,"
+ "suggest_selection_max_range_length=8,"
+ "classify_text_max_range_length=7,"
+ "generate_links_max_text_length=6,"
+ "generate_links_log_sample_rate=5";
final TextClassificationConstants constants =
TextClassificationConstants.loadFromString(s);
assertFalse("local_textclassifier_enabled",
constants.isLocalTextClassifierEnabled());
assertFalse("system_textclassifier_enabled",
constants.isSystemTextClassifierEnabled());
assertFalse("model_dark_launch_enabled", constants.isModelDarkLaunchEnabled());
assertFalse("smart_selection_enabled", constants.isSmartSelectionEnabled());
assertFalse("smart_text_share_enabled", constants.isSmartTextShareEnabled());
assertFalse("smart_linkify_enabled", constants.isSmartLinkifyEnabled());
assertFalse("smart_select_animation_enabled",
constants.isSmartSelectionAnimationEnabled());
assertEquals("suggest_selection_max_range_length",
8, constants.getSuggestSelectionMaxRangeLength());
assertEquals("classify_text_max_range_length",
7, constants.getClassifyTextMaxRangeLength());
assertEquals("generate_links_max_text_length",
6, constants.getGenerateLinksMaxTextLength());
assertEquals("generate_links_log_sample_rate",
5, constants.getGenerateLinksLogSampleRate());
}
@Test
public void testEntityListParsing() {
final TextClassificationConstants constants = TextClassificationConstants.loadFromString(
"entity_list_default=phone,"
+ "entity_list_not_editable=address:flight,"
+ "entity_list_editable=date:datetime");
assertEquals(1, constants.getEntityListDefault().size());
assertEquals("phone", constants.getEntityListDefault().get(0));
assertEquals(2, constants.getEntityListNotEditable().size());
assertEquals("address", constants.getEntityListNotEditable().get(0));
assertEquals("flight", constants.getEntityListNotEditable().get(1));
assertEquals(2, constants.getEntityListEditable().size());
assertEquals("date", constants.getEntityListEditable().get(0));
assertEquals("datetime", constants.getEntityListEditable().get(1));
}
}