18c34ac6340e2e8adf46fb52b63380f1afb66ac03Erich Douglasspackage org.robolectric.shadows; 28c34ac6340e2e8adf46fb52b63380f1afb66ac03Erich Douglass 3851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williamsimport static org.assertj.core.api.Assertions.assertThat; 4851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williams 5851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williamsimport java.io.File; 633f885639bd26e74fce341ec0711ba8f2a92f032Christian Williamsimport org.junit.Before; 78c34ac6340e2e8adf46fb52b63380f1afb66ac03Erich Douglassimport org.junit.Test; 8879371277af60d57148eefb24fd046a6a30e4683christianwimport org.junit.runner.RunWith; 9ceb8863e0cd0706c72351f063bc7af3c7d76d120Jonathan Gerrishimport org.robolectric.RobolectricTestRunner; 10851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williamsimport org.robolectric.res.Fs; 11c99663a6be818bd37aaa7d1dd1cf4ebf96e7d65fChristian Williamsimport org.robolectric.res.FsFile; 12c99663a6be818bd37aaa7d1dd1cf4ebf96e7d65fChristian Williamsimport org.robolectric.res.Qualifiers; 13851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williamsimport org.robolectric.res.ResType; 14851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williamsimport org.robolectric.res.TypedResource; 15851f2a9519be23c73a9e2929128179b405e2e7a6Christian Williamsimport org.robolectric.res.XmlContext; 168c34ac6340e2e8adf46fb52b63380f1afb66ac03Erich Douglass 17ceb8863e0cd0706c72351f063bc7af3c7d76d120Jonathan Gerrish@RunWith(RobolectricTestRunner.class) 188c34ac6340e2e8adf46fb52b63380f1afb66ac03Erich Douglasspublic class ConverterTest { 198c34ac6340e2e8adf46fb52b63380f1afb66ac03Erich Douglass 20d261ada49ba98cac13cb4bd2fd13abcd9e557d6fJonathan Gerrish private XmlContext xmlContext; 2133f885639bd26e74fce341ec0711ba8f2a92f032Christian Williams 2233f885639bd26e74fce341ec0711ba8f2a92f032Christian Williams @Before 2333f885639bd26e74fce341ec0711ba8f2a92f032Christian Williams public void setUp() throws Exception { 24c99663a6be818bd37aaa7d1dd1cf4ebf96e7d65fChristian Williams FsFile xmlFile = Fs.newFile(new File("res/values/foo.xml")); 25c99663a6be818bd37aaa7d1dd1cf4ebf96e7d65fChristian Williams Qualifiers qualifiers = Qualifiers.fromParentDir(xmlFile.getParent()); 26c99663a6be818bd37aaa7d1dd1cf4ebf96e7d65fChristian Williams 27c99663a6be818bd37aaa7d1dd1cf4ebf96e7d65fChristian Williams xmlContext = new XmlContext("", xmlFile, qualifiers); 2833f885639bd26e74fce341ec0711ba8f2a92f032Christian Williams } 2933f885639bd26e74fce341ec0711ba8f2a92f032Christian Williams 308c34ac6340e2e8adf46fb52b63380f1afb66ac03Erich Douglass @Test 31e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass public void fromCharSequence_asInt_shouldHandleSpacesInString() { 3233f885639bd26e74fce341ec0711ba8f2a92f032Christian Williams final TypedResource<String> resource = new TypedResource<>(" 100 ", ResType.CHAR_SEQUENCE, xmlContext); 338c34ac6340e2e8adf46fb52b63380f1afb66ac03Erich Douglass assertThat(Converter.getConverter(ResType.CHAR_SEQUENCE).asInt(resource)).isEqualTo(100); 348c34ac6340e2e8adf46fb52b63380f1afb66ac03Erich Douglass } 35e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass 36e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass @Test 37e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass public void fromCharSequence_asCharSequence_shouldHandleSpacesInString() { 3833f885639bd26e74fce341ec0711ba8f2a92f032Christian Williams final TypedResource<String> resource = new TypedResource<>(" Robolectric ", ResType.CHAR_SEQUENCE, xmlContext); 39e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass assertThat(Converter.getConverter(ResType.CHAR_SEQUENCE).asCharSequence(resource)).isEqualTo("Robolectric"); 40e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass } 41e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass 42e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass @Test 43e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass public void fromColor_asInt_shouldHandleSpacesInString() { 4433f885639bd26e74fce341ec0711ba8f2a92f032Christian Williams final TypedResource<String> resource = new TypedResource<>(" #aaaaaa ", ResType.COLOR, xmlContext); 45e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass assertThat(Converter.getConverter(ResType.COLOR).asInt(resource)).isEqualTo(-5592406); 46e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass } 47e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass 48e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass @Test 49e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass public void fromDrawableValue_asInt_shouldHandleSpacesInString() { 5033f885639bd26e74fce341ec0711ba8f2a92f032Christian Williams final TypedResource<String> resource = new TypedResource<>(" #aaaaaa ", ResType.DRAWABLE, xmlContext); 51e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass assertThat(Converter.getConverter(ResType.DRAWABLE).asInt(resource)).isEqualTo(-5592406); 52e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass } 53e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass 54e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass @Test 55e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass public void fromInt_asInt_shouldHandleSpacesInString() { 5633f885639bd26e74fce341ec0711ba8f2a92f032Christian Williams final TypedResource<String> resource = new TypedResource<>(" 100 ", ResType.INTEGER, xmlContext); 57e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass assertThat(Converter.getConverter(ResType.INTEGER).asInt(resource)).isEqualTo(100); 58e61ccd3daafd83509208b20f1f07a238609f32a9Erich Douglass } 598c34ac6340e2e8adf46fb52b63380f1afb66ac03Erich Douglass}