package restx.i18n; import org.junit.Before; import org.junit.Test; import java.util.Locale; import static org.assertj.core.api.Assertions.assertThat; /** * Date: 25/1/14 * Time: 14:58 */ public class DefaultMessagesTest { @Before public void setUp() throws Exception { Locale.setDefault(Locale.US); } @Test public void should_translate_simple() throws Exception { DefaultMessages m = new DefaultMessages("restx.i18n.test"); assertThat(m.getMessage("key1", Locale.ENGLISH)).isEqualTo("Hello!"); assertThat(m.getMessage("key1", Locale.FRENCH)).isEqualTo("Bonjour !"); } @Test public void should_translate_with_params() throws Exception { DefaultMessages m = new DefaultMessages("restx.i18n.test"); assertThat(m.getMessage("key2", MessageParams.of("who", "World"), Locale.ENGLISH)).isEqualTo("Hello World!"); assertThat(m.getMessage("key2", MessageParams.of("who", "World"), Locale.FRENCH)).isEqualTo("Bonjour World !"); } @Test public void should_list_keys() throws Exception { DefaultMessages m = new DefaultMessages("restx.i18n.test"); assertThat(m.keys()).containsOnly("key1", "key2"); } @Test public void should_access_values() throws Exception { DefaultMessages m = new DefaultMessages("restx.i18n.test"); assertThat(m.getMessageTemplate("key2", Locale.ENGLISH)).isEqualTo("Hello {{who}}!"); assertThat(m.getMessageTemplate("key2", Locale.FRENCH)).isEqualTo("Bonjour {{who}} !"); } }