aboutsummaryrefslogtreecommitdiff
path: root/robolectric/src/test/java/org/robolectric/shadows/ResourceHelperTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'robolectric/src/test/java/org/robolectric/shadows/ResourceHelperTest.java')
-rw-r--r--robolectric/src/test/java/org/robolectric/shadows/ResourceHelperTest.java40
1 files changed, 39 insertions, 1 deletions
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ResourceHelperTest.java b/robolectric/src/test/java/org/robolectric/shadows/ResourceHelperTest.java
index 9edaac17a..66762daca 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ResourceHelperTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ResourceHelperTest.java
@@ -10,10 +10,10 @@ import org.robolectric.annotation.Config;
/** Unit tests for {@link ResourceHelper}. */
@RunWith(AndroidJUnit4.class)
+@Config(sdk = Config.NEWEST_SDK)
public class ResourceHelperTest {
@Test
- @Config(sdk = Config.NEWEST_SDK)
public void parseFloatAttribute() {
TypedValue out = new TypedValue();
ResourceHelper.parseFloatAttribute(null, "0.16", out, false);
@@ -23,4 +23,42 @@ public class ResourceHelperTest {
ResourceHelper.parseFloatAttribute(null, ".16", out, false);
assertThat(out.getFloat()).isEqualTo(0.16f);
}
+
+ @Test
+ public void parseFloatAttribute_lengthEquals1000_parseSucceed() {
+ TypedValue out = new TypedValue();
+ boolean parseResult =
+ ResourceHelper.parseFloatAttribute(
+ null, generateTestFloatAttribute("0.16", 1000), out, false);
+ assertThat(parseResult).isTrue();
+ assertThat(out.getFloat()).isEqualTo(0.16f);
+ }
+
+ @Test
+ public void parseFloatAttribute_lengthLargerThan1000_returnsFalse() {
+ TypedValue out = new TypedValue();
+ boolean parseResult =
+ ResourceHelper.parseFloatAttribute(
+ null, generateTestFloatAttribute("0.17", 1001), out, false);
+ assertThat(parseResult).isFalse();
+ }
+
+ @Test
+ public void parseFloatAttribute_lengthLessThan1000_parseSucceed() {
+ TypedValue out = new TypedValue();
+ boolean parseResult =
+ ResourceHelper.parseFloatAttribute(
+ null, generateTestFloatAttribute("0.18", 999), out, false);
+ assertThat(parseResult).isTrue();
+ assertThat(out.getFloat()).isEqualTo(0.18f);
+ }
+
+ private static String generateTestFloatAttribute(String prefixAttribute, int length) {
+ StringBuilder builder = new StringBuilder(prefixAttribute);
+ int usedLength = builder.length();
+ for (int i = 0; i < length - usedLength; i++) {
+ builder.append("0");
+ }
+ return builder.toString();
+ }
}