package net.jhorstmann.i18n.impl;
import java.util.Iterator;
import java.util.Locale;
import java.util.ServiceLoader;
import net.jhorstmann.i18n.I18N;
import net.jhorstmann.i18n.LocaleProvider;
import net.jhorstmann.i18n.LocaleProviderFactory;
import net.jhorstmann.i18n.impl.DefaultLocaleProviderFactory;
import org.junit.Assert;
import org.junit.Test;
public class DefaultLocaleProviderTest {
@Test
public void testServiceLoader() {
ServiceLoader<LocaleProviderFactory> loader = ServiceLoader.load(LocaleProviderFactory.class);
Iterator<LocaleProviderFactory> iterator = loader.iterator();
Assert.assertTrue(iterator.hasNext());
LocaleProviderFactory factory = iterator.next();
Assert.assertTrue(factory instanceof DefaultLocaleProviderFactory);
LocaleProvider provider = factory.newLocaleProvider();
Assert.assertNotNull(provider);
}
@Test
public void testFactory() {
LocaleProvider provider = LocaleProviderFactory.newInstance().newLocaleProvider();
Assert.assertNotNull(provider);
}
@Test
public void testProvider() {
LocaleProvider provider = LocaleProviderFactory.newInstance().newLocaleProvider();
Assert.assertNotNull(provider);
Locale.setDefault(Locale.GERMANY);
Assert.assertEquals(Locale.GERMANY, provider.getLocale());
Locale.setDefault(Locale.FRANCE);
Assert.assertEquals(Locale.FRANCE, provider.getLocale());
}
}