| package com.xtremelabs.robolectric.res; |
| |
| import static com.xtremelabs.robolectric.util.TestUtil.resourceFile; |
| import static org.hamcrest.CoreMatchers.equalTo; |
| import static org.junit.Assert.assertThat; |
| |
| import com.xtremelabs.robolectric.R; |
| import org.junit.Before; |
| import org.junit.Test; |
| |
| public class PluralResourceLoaderTest { |
| private PluralResourceLoader pluralResourceLoader; |
| |
| @Before |
| public void setUp() throws Exception { |
| ResourceExtractor resourceExtractor = new ResourceExtractor(); |
| resourceExtractor.addLocalRClass(R.class); |
| |
| StringResourceLoader stringResourceLoader = new StringResourceLoader(resourceExtractor); |
| pluralResourceLoader = new PluralResourceLoader(resourceExtractor, stringResourceLoader); |
| |
| new DocumentLoader(stringResourceLoader).loadResourceXmlDir(resourceFile("res", "values")); |
| new DocumentLoader(pluralResourceLoader).loadResourceXmlDir(resourceFile("res", "values")); |
| } |
| |
| @Test |
| public void testPluralsAreResolved() throws Exception { |
| assertThat(pluralResourceLoader.getValue(R.plurals.beer, 0), equalTo("Howdy")); |
| assertThat(pluralResourceLoader.getValue(R.plurals.beer, 1), equalTo("One beer")); |
| assertThat(pluralResourceLoader.getValue(R.plurals.beer, 2), equalTo("Two beers")); |
| assertThat(pluralResourceLoader.getValue(R.plurals.beer, 3), equalTo("%d beers, yay!")); |
| } |
| } |