diff options
Diffstat (limited to 'robolectric/src/test/java/org/robolectric/shadows/ResourceHelperTest.java')
-rw-r--r-- | robolectric/src/test/java/org/robolectric/shadows/ResourceHelperTest.java | 40 |
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(); + } } |