package com.brightgenerous.lang; import static org.junit.Assert.*; import java.io.IOException; import java.io.InputStream; import java.util.MissingResourceException; import java.util.ResourceBundle; import org.junit.Test; public class PropertyBundleBuilderTest { @Test public void test() throws IOException { PropertyResourceBundleBuilder builder = PropertyResourceBundleBuilder.create(); builder.parentKey("extends"); { InputStream is = PropertyBundleBuilderTest.class.getResourceAsStream("C.properties"); assertNotNull(is); ResourceBundle rb = builder.build(is); assertEquals("hoge-c", rb.getString("hoge")); assertEquals("foo-b", rb.getString("foo")); assertEquals("bar-a", rb.getString("bar")); try { rb.getString("hello"); fail(); } catch (MissingResourceException e) { } } { InputStream isA = PropertyBundleBuilderTest.class.getResourceAsStream("A.properties"); InputStream isB = PropertyBundleBuilderTest.class.getResourceAsStream("B.properties"); InputStream isC = PropertyBundleBuilderTest.class.getResourceAsStream("C.properties"); assertNotNull(isA); assertNotNull(isB); assertNotNull(isC); ResourceBundle rb = builder.build(isB, isC, isA); assertEquals("", rb.getString("hoge")); assertEquals("foo-b", rb.getString("foo")); assertEquals("bar-a", rb.getString("bar")); try { rb.getString("hello"); fail(); } catch (MissingResourceException e) { } } } }