summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-11-09 00:03:13 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-11-09 00:03:13 +0000
commit7ac3d9992c9b628d8c069acf0e41bca20016d153 (patch)
tree10cb2a2397a6d0af98a52c799054e9ab06f1b044
parent990fec201e8363d1f7a5a6c68d53f4b66303c503 (diff)
parent49410e98e35ebcdd89c4718ed12f868efefe0d4a (diff)
downloadlibtextclassifier-android12L-d2-s4-release.tar.gz
Change-Id: I464ae3946aff5c6ee7cbdb7b7e1f39200696d065
-rw-r--r--java/tests/instrumentation/src/com/android/textclassifier/common/TextClassifierSettingsTest.java26
-rw-r--r--java/tests/instrumentation/src/com/android/textclassifier/testing/TestingDeviceConfig.java48
2 files changed, 40 insertions, 34 deletions
diff --git a/java/tests/instrumentation/src/com/android/textclassifier/common/TextClassifierSettingsTest.java b/java/tests/instrumentation/src/com/android/textclassifier/common/TextClassifierSettingsTest.java
index 21d6943..8072d72 100644
--- a/java/tests/instrumentation/src/com/android/textclassifier/common/TextClassifierSettingsTest.java
+++ b/java/tests/instrumentation/src/com/android/textclassifier/common/TextClassifierSettingsTest.java
@@ -18,12 +18,11 @@ package com.android.textclassifier.common;
import static com.google.common.truth.Truth.assertThat;
-import android.provider.DeviceConfig;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
import androidx.test.platform.app.InstrumentationRegistry;
+import com.android.textclassifier.testing.TestingDeviceConfig;
import com.google.common.collect.ImmutableMap;
-import java.util.HashMap;
import java.util.Map;
import java.util.function.Consumer;
import org.junit.After;
@@ -157,26 +156,11 @@ public class TextClassifierSettingsTest {
private static void assertSettings(
Map<String, String> keyValueMap, Consumer<TextClassifierSettings> settingsConsumer) {
- HashMap<String, String> keyOriginalValueMap = new HashMap<>();
+ TestingDeviceConfig deviceConfig = new TestingDeviceConfig();
+ TextClassifierSettings settings = new TextClassifierSettings(deviceConfig);
for (String key : keyValueMap.keySet()) {
- keyOriginalValueMap.put(
- key, DeviceConfig.getProperty(DeviceConfig.NAMESPACE_TEXTCLASSIFIER, key));
+ deviceConfig.setConfig(key, keyValueMap.get(key));
}
- TextClassifierSettings settings = new TextClassifierSettings();
- try {
- for (String key : keyValueMap.keySet()) {
- setDeviceConfig(key, keyValueMap.get(key));
- }
- settingsConsumer.accept(settings);
- } finally {
- for (String key : keyValueMap.keySet()) {
- setDeviceConfig(key, keyOriginalValueMap.get(key));
- }
- }
- }
-
- private static void setDeviceConfig(String key, String value) {
- DeviceConfig.setProperty(
- DeviceConfig.NAMESPACE_TEXTCLASSIFIER, key, value, /* makeDefault */ false);
+ settingsConsumer.accept(settings);
}
}
diff --git a/java/tests/instrumentation/src/com/android/textclassifier/testing/TestingDeviceConfig.java b/java/tests/instrumentation/src/com/android/textclassifier/testing/TestingDeviceConfig.java
index 670e3d0..bdc422e 100644
--- a/java/tests/instrumentation/src/com/android/textclassifier/testing/TestingDeviceConfig.java
+++ b/java/tests/instrumentation/src/com/android/textclassifier/testing/TestingDeviceConfig.java
@@ -25,42 +25,64 @@ import javax.annotation.Nullable;
/** A fake DeviceConfig implementation for testing purpose. */
public final class TestingDeviceConfig implements TextClassifierSettings.IDeviceConfig {
- private final HashMap<String, String> strConfigs;
- private final HashMap<String, Boolean> boolConfigs;
+ private final HashMap<String, String> configs;
public TestingDeviceConfig() {
- this.strConfigs = new HashMap<>();
- this.boolConfigs = new HashMap<>();
+ this.configs = new HashMap<>();
}
public void setConfig(String key, String value) {
- strConfigs.put(key, value);
+ configs.put(key, value);
}
public void setConfig(String key, boolean value) {
- boolConfigs.put(key, value);
+ configs.put(key, Boolean.toString(value));
+ }
+
+ public void setConfig(String key, int value) {
+ configs.put(key, Integer.toString(value));
+ }
+
+ public void setConfig(String key, float value) {
+ configs.put(key, Float.toString(value));
+ }
+
+ public void setConfig(String key, long value) {
+ configs.put(key, Long.toString(value));
}
@Override
public Properties getProperties(@NonNull String namespace, @NonNull String... names) {
Properties.Builder builder = new Properties.Builder(namespace);
- for (String key : strConfigs.keySet()) {
- builder.setString(key, strConfigs.get(key));
- }
- for (String key : boolConfigs.keySet()) {
- builder.setBoolean(key, boolConfigs.get(key));
+ for (String key : configs.keySet()) {
+ builder.setString(key, configs.get(key));
}
return builder.build();
}
@Override
public boolean getBoolean(@NonNull String namespace, @NonNull String name, boolean defaultValue) {
- return boolConfigs.containsKey(name) ? boolConfigs.get(name) : defaultValue;
+ return configs.containsKey(name) ? Boolean.parseBoolean(configs.get(name)) : defaultValue;
}
@Override
public String getString(
@NonNull String namespace, @NonNull String name, @Nullable String defaultValue) {
- return strConfigs.containsKey(name) ? strConfigs.get(name) : defaultValue;
+ return configs.containsKey(name) ? configs.get(name) : defaultValue;
+ }
+
+ @Override
+ public int getInt(@NonNull String namespace, @NonNull String name, int defaultValue) {
+ return configs.containsKey(name) ? Integer.parseInt(configs.get(name)) : defaultValue;
+ }
+
+ @Override
+ public float getFloat(@NonNull String namespace, @NonNull String name, float defaultValue) {
+ return configs.containsKey(name) ? Float.parseFloat(configs.get(name)) : defaultValue;
+ }
+
+ @Override
+ public long getLong(@NonNull String namespace, @NonNull String name, long defaultValue) {
+ return configs.containsKey(name) ? Long.parseLong(configs.get(name)) : defaultValue;
}
}