package org.mongodb.morphia.mapping; import org.bson.types.ObjectId; import org.junit.Assert; import org.junit.Test; import org.mongodb.morphia.TestBase; import org.mongodb.morphia.annotations.Embedded; import org.mongodb.morphia.annotations.Id; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Locale; /** * @author Uwe Schaefer, (us@thomas-daily.de) */ public class LocaleMappingTest extends TestBase { @Test public void testLocaleMapping() throws Exception { E e = new E(); e.l1 = Locale.CANADA_FRENCH; e.l2 = Arrays.asList(Locale.GERMANY, Locale.TRADITIONAL_CHINESE); e.l3 = new Locale[]{Locale.TRADITIONAL_CHINESE, Locale.FRENCH}; getDs().save(e); e = getDs().get(e); Assert.assertEquals(Locale.CANADA_FRENCH, e.l1); Assert.assertEquals(2, e.l2.size()); Assert.assertEquals(Locale.GERMANY, e.l2.get(0)); Assert.assertEquals(Locale.TRADITIONAL_CHINESE, e.l2.get(1)); Assert.assertEquals(2, e.l3.length); Assert.assertEquals(Locale.TRADITIONAL_CHINESE, e.l3[0]); Assert.assertEquals(Locale.FRENCH, e.l3[1]); } public static class E { @Id private ObjectId id; private Locale l1; @Embedded private List<Locale> l2 = new ArrayList<Locale>(); private Locale[] l3; } }