blob: fcb15fc9227cc55bd7e32c2f3332d5374aaa34d4 [file] [log] [blame]
/* GENERATED SOURCE. DO NOT MODIFY. */
/*
*******************************************************************************
* Copyright (C) 2003-2012, Google, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
package android.icu.dev.test.util;
import java.util.Arrays;
import java.util.List;
import android.icu.dev.test.TestFmwk;
import android.icu.util.GenderInfo;
import android.icu.util.GenderInfo.Gender;
import android.icu.util.ULocale;
import org.junit.runner.RunWith;
import android.icu.junit.IcuTestFmwkRunner;
@RunWith(IcuTestFmwkRunner.class)
public class GenderInfoTest extends TestFmwk {
public static void main(String[] args) {
new GenderInfoTest().run(args);
}
public static GenderInfo NEUTRAL_LOCALE = GenderInfo.getInstance(ULocale.ENGLISH);
public static GenderInfo MIXED_NEUTRAL_LOCALE = GenderInfo.getInstance(new ULocale("is"));
public static GenderInfo MALE_TAINTS_LOCALE = GenderInfo.getInstance(ULocale.FRENCH);
public void TestEmpty() {
// Gender of the empty list is always OTHER regardless of gender style.
check(Gender.OTHER, Gender.OTHER, Gender.OTHER);
}
public void TestOne() {
// Gender of single item list is always gender of sole item regardless of
// gender style.
for (Gender g : Gender.values()) {
check(g, g, g, g);
}
}
public void TestOther() {
check(Gender.OTHER, Gender.MALE, Gender.MALE, Gender.MALE, Gender.MALE);
check(Gender.OTHER, Gender.OTHER, Gender.MALE, Gender.MALE, Gender.FEMALE);
check(Gender.OTHER, Gender.OTHER, Gender.MALE, Gender.MALE, Gender.OTHER);
check(Gender.OTHER, Gender.OTHER, Gender.MALE, Gender.FEMALE, Gender.MALE);
check(Gender.OTHER, Gender.FEMALE, Gender.FEMALE, Gender.FEMALE, Gender.FEMALE);
check(Gender.OTHER, Gender.OTHER, Gender.MALE, Gender.FEMALE, Gender.OTHER);
check(Gender.OTHER, Gender.OTHER, Gender.MALE, Gender.OTHER, Gender.MALE);
check(Gender.OTHER, Gender.OTHER, Gender.MALE, Gender.OTHER, Gender.FEMALE);
check(Gender.OTHER, Gender.OTHER, Gender.MALE, Gender.OTHER, Gender.OTHER);
}
public void check(Gender neutral, Gender mixed, Gender taints, Gender... genders) {
List<Gender> mixed0 = Arrays.asList(genders);
assertEquals("neutral " + mixed0, neutral, NEUTRAL_LOCALE.getListGender(mixed0));
assertEquals("mixed neutral " + mixed0, mixed, MIXED_NEUTRAL_LOCALE.getListGender(mixed0));
assertEquals("male taints " + mixed0, taints, MALE_TAINTS_LOCALE.getListGender(mixed0));
}
public void TestFallback() {
assertEquals("Strange locale = root", GenderInfo.getInstance(ULocale.ROOT), GenderInfo.getInstance(new ULocale("xxx")));
assertEquals("Strange locale = root", GenderInfo.getInstance(ULocale.FRANCE), GenderInfo.getInstance(ULocale.CANADA_FRENCH));
}
}