OverlayBaseTest.java revision e75b2c267761be6f7d762930b980f435c1789eea
157f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstadpackage com.android.overlaytest;
257f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
357f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstadimport android.content.res.Configuration;
457f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstadimport android.content.res.Resources;
5ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstadimport android.content.res.XmlResourceParser;
657f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstadimport android.test.AndroidTestCase;
7ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstadimport android.util.AttributeSet;
8ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstadimport android.util.Xml;
9ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstadimport java.io.BufferedReader;
1057f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstadimport java.io.InputStream;
11ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstadimport java.io.InputStreamReader;
1257f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstadimport java.util.Locale;
1357f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
1457f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstadpublic abstract class OverlayBaseTest extends AndroidTestCase {
1557f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    private Resources mResources;
16ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    protected int mMode; // will be set by subclasses
17ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    static final protected int MODE_NO_OVERLAY = 0;
18ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    static final protected int MODE_SINGLE_OVERLAY = 1;
19ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    static final protected int MODE_MULTIPLE_OVERLAYS = 2;
2057f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
2157f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    protected void setUp() {
2257f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        mResources = getContext().getResources();
2357f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
2457f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
2557f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    private int calculateRawResourceChecksum(int resId) throws Throwable {
2657f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        InputStream input = null;
2757f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        try {
2857f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad            input = mResources.openRawResource(resId);
2957f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad            int ch, checksum = 0;
3057f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad            while ((ch = input.read()) != -1) {
3157f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad                checksum = (checksum + ch) % 0xffddbb00;
3257f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad            }
3357f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad            return checksum;
3457f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        } finally {
3557f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad            input.close();
3657f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        }
3757f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
3857f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
39e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski    private void setLocale(Locale locale) {
4057f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        Locale.setDefault(locale);
4157f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        Configuration config = new Configuration();
4257f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        config.locale = locale;
4357f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        mResources.updateConfiguration(config, mResources.getDisplayMetrics());
4457f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
4557f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
46ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    private boolean getExpected(boolean no, boolean so, boolean mo) {
47ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        switch (mMode) {
48ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_NO_OVERLAY:
49ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return no;
50ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_SINGLE_OVERLAY:
51ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return so;
52ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_MULTIPLE_OVERLAYS:
53ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return mo;
54ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            default:
55ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                fail("Unknown mode!");
56ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return no;
57ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        }
58ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
59ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
60ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    private String getExpected(String no, String so, String mo) {
61ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        switch (mMode) {
62ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_NO_OVERLAY:
63ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return no;
64ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_SINGLE_OVERLAY:
65ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return so;
66ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_MULTIPLE_OVERLAYS:
67ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return mo;
68ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            default:
69ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                fail("Unknown mode!");
70ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return no;
71ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        }
72ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
73ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
74ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    private int getExpected(int no, int so, int mo) {
75ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        switch (mMode) {
76ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_NO_OVERLAY:
77ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return no;
78ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_SINGLE_OVERLAY:
79ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return so;
80ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_MULTIPLE_OVERLAYS:
81ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return mo;
82ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            default:
83ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                fail("Unknown mode!");
84ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return no;
85ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        }
86ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
87ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
88ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    private int[] getExpected(int[] no, int[] so, int[] mo) {
89ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        switch (mMode) {
90ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_NO_OVERLAY:
91ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return no;
92ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_SINGLE_OVERLAY:
93ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return so;
94ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_MULTIPLE_OVERLAYS:
95ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return mo;
96ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            default:
97ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                fail("Unknown mode!");
98ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                return no;
99ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        }
100ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
101ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
102ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    private void assertResource(int resId, boolean no, boolean so, boolean mo) throws Throwable {
103ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        boolean expected = getExpected(no, so, mo);
10457f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        boolean actual = mResources.getBoolean(resId);
10557f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        assertEquals(expected, actual);
10657f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
10757f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
108ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    private void assertResource(int resId, int no, int so, int mo) throws Throwable {
109ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        int expected = getExpected(no, so, mo);
110ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        int actual = mResources.getInteger(resId);
111ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertEquals(expected, actual);
112ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
113ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
114ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    private void assertResource(int resId, String no, String so, String mo) throws Throwable {
115ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        String expected = getExpected(no, so, mo);
11657f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        String actual = mResources.getString(resId);
11757f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        assertEquals(expected, actual);
11857f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
11957f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
120ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    private void assertResource(int resId, int[] no, int[] so, int[] mo) throws Throwable {
121ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        int[] expected = getExpected(no, so, mo);
12257f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        int[] actual = mResources.getIntArray(resId);
12357f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        assertEquals("length:", expected.length, actual.length);
12457f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        for (int i = 0; i < actual.length; ++i) {
12557f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad            assertEquals("index " + i + ":", actual[i], expected[i]);
12657f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad        }
12757f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
12857f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
129ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testFrameworkBooleanOverlay() throws Throwable {
130ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // config_annoy_dianne has the value:
131ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // - true when no overlay exists (MODE_NO_OVERLAY)
132ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // - false when a single overlay exists (MODE_SINGLE_OVERLAY)
133ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // - false when multiple overlays exists (MODE_MULTIPLE_OVERLAYS)
134ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = com.android.internal.R.bool.config_annoy_dianne;
135ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, true, false, false);
136ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
137ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
13857f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    public void testBooleanOverlay() throws Throwable {
139ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // usually_false has the value:
140ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // - false when no overlay exists (MODE_NO_OVERLAY)
141ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // - true when a single overlay exists (MODE_SINGLE_OVERLAY)
142ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // - false when multiple overlays exists (MODE_MULTIPLE_OVERLAYS)
143ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.bool.usually_false;
144ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, false, true, false);
14557f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
14657f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
14757f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    public void testBoolean() throws Throwable {
148ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // always_true has no overlay
149ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.bool.always_true;
150ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, true, true, true);
151ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
152ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
153ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testIntegerArrayOverlay() throws Throwable {
154ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // fibonacci has values:
155ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // - eight first values of Fibonacci sequence, when no overlay exists (MODE_NO_OVERLAY)
156ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // - eight first values of Fibonacci sequence (reversed), for single and multiple overlays
157ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        //   (MODE_SINGLE_OVERLAY, MODE_MULTIPLE_OVERLAYS)
158ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.array.fibonacci;
159ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId,
160ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                new int[]{1, 1, 2, 3, 5, 8, 13, 21},
161ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                new int[]{21, 13, 8, 5, 3, 2, 1, 1},
162ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                new int[]{21, 13, 8, 5, 3, 2, 1, 1});
163ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
164ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
165ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testIntegerArray() throws Throwable {
166ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // prime_numbers has no overlay
167ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.array.prime_numbers;
168ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int[] expected = {2, 3, 5, 7, 11, 13, 17, 19};
169ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, expected, expected, expected);
170ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
171ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
172ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testDrawable() throws Throwable {
173ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        // drawable-nodpi/drawable has overlay (default config)
174ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.drawable.drawable;
175ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        int actual = calculateRawResourceChecksum(resId);
176ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        int expected = 0;
177ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        switch (mMode) {
178ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_NO_OVERLAY:
179ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                expected = 0x00005665;
180ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                break;
181ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_SINGLE_OVERLAY:
182ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            case MODE_MULTIPLE_OVERLAYS:
183ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                expected = 0x000051da;
184ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                break;
185ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            default:
186ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                fail("Unknown mode " + mMode);
187ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        }
188ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertEquals(expected, actual);
189ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
190ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
191ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testAppString() throws Throwable {
192ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.string.str;
193ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, "none", "single", "multiple");
194ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
195ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
196ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testApp2() throws Throwable {
197ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.string.str2; // only in base package and first app overlay
198ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, "none", "single", "single");
19957f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
20057f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
201ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testAppXml() throws Throwable {
202ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        int expected = getExpected(0, 1, 2);
203ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        int actual = -1;
204ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        XmlResourceParser parser = mResources.getXml(R.xml.integer);
205ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        int type = parser.getEventType();
206ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        while (type != XmlResourceParser.END_DOCUMENT && actual == -1) {
207ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            if (type == XmlResourceParser.START_TAG && "integer".equals(parser.getName())) {
208ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                AttributeSet as = Xml.asAttributeSet(parser);
209ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad                actual = as.getAttributeIntValue(null, "value", -1);
210ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            }
211ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            type = parser.next();
212ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        }
213ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        parser.close();
214ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertEquals(expected, actual);
215ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
216ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
217ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testAppRaw() throws Throwable {
218ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.raw.lorem_ipsum;
219ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
220ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        InputStream input = null;
221ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        BufferedReader reader = null;
222ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        String actual = "";
223ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        try {
224ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            input = mResources.openRawResource(resId);
225ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            reader = new BufferedReader(new InputStreamReader(input));
226ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            actual = reader.readLine();
227ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        } finally {
228ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            reader.close();
229ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            input.close();
230ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        }
231ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
232ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final String no = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, " +
233ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. " +
234ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip " +
235ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            "ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit " +
236ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            "esse cillum dolore eu fugiat nulla pariatur. " +
237ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            "Excepteur sint occaecat cupidatat non proident, " +
238ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad            "sunt in culpa qui officia deserunt mollit anim id est laborum.";
239ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final String so = "Lorem ipsum: single overlay.";
240ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final String mo = "Lorem ipsum: multiple overlays.";
241ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
242ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertEquals(getExpected(no, so, mo), actual);
243ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
244ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
245ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    /*
246ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * testMatrix* tests
247ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     *
248ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * The naming convention textMatrixABCDEF refers to in which packages and
249ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * which configurations a resource is defined (1 if the resource is
250ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * defined). If defined, a slot is always given the same value.
251ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     *
252ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * SLOT  PACKAGE           CONFIGURATION  VALUE
253ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * A     target package    (default)      100
254ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * B     target package    -sv            200
255ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * C     OverlayAppFirst   (default)      300
256ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * D     OverlayAppFirst   -sv            400
257ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * E     OverlayAppSecond  (default)      500
258ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * F     OverlayAppSecond  -sv            600
259ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     *
260ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * Example: in testMatrix101110, the base package defines the
261ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * R.integer.matrix101110 resource for the default configuration (value
262ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * 100), OverlayAppFirst defines it for both default and Swedish
263ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * configurations (values 300 and 400, respectively), and OverlayAppSecond
264ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * defines it for the default configuration (value 500). If both overlays
265ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * are loaded, the expected value after setting the language to Swedish is
266ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     * 400.
267ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad     */
268ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix100000() throws Throwable {
269ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_100000;
270e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
271ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 100, 100);
27257f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
27357f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
274ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix100001() throws Throwable {
275ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_100001;
276e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
277ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 100, 600);
27857f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
27957f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
280ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix100010() throws Throwable {
281ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_100010;
282e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
283ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 100, 500);
28457f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
28557f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
286ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix100011() throws Throwable {
287ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_100011;
288e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
289ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 100, 600);
29057f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
29157f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
292ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix100100() throws Throwable {
293ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_100100;
294e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
295ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 400, 400);
29657f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
29757f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad
298ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix100101() throws Throwable {
299ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_100101;
300e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
301ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 400, 600);
302ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
303ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
304ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix100110() throws Throwable {
305ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_100110;
306e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
307ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 400, 400);
308ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
309ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
310ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix100111() throws Throwable {
311ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_100111;
312e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
313ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 400, 600);
314ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
315ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
316ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix101000() throws Throwable {
317ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_101000;
318e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
319ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 300, 300);
320ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
321ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
322ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix101001() throws Throwable {
323ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_101001;
324e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
325ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 300, 600);
326ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
327ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
328ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix101010() throws Throwable {
329ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_101010;
330e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
331ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 300, 500);
332ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
333ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
334ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix101011() throws Throwable {
335ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_101011;
336e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
337ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 300, 600);
338ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
339ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
340ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix101100() throws Throwable {
341ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_101100;
342e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
343ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 400, 400);
344ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
345ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
346ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix101101() throws Throwable {
347ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_101101;
348e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
349ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 400, 600);
350ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
351ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
352ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix101110() throws Throwable {
353ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_101110;
354e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
355ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 400, 400);
356ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
357ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
358ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix101111() throws Throwable {
359ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_101111;
360e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
361ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 100, 400, 600);
362ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
363ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
364ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix110000() throws Throwable {
365ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_110000;
366e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
367ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 200, 200);
368ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
369ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
370ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix110001() throws Throwable {
371ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_110001;
372e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
373ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 200, 600);
374ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
375ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
376ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix110010() throws Throwable {
377ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_110010;
378e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
379ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 200, 200);
380ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
381ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
382ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix110011() throws Throwable {
383ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_110011;
384e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
385ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 200, 600);
386ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
387ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
388ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix110100() throws Throwable {
389ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_110100;
390e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
391ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 400, 400);
392ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
393ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
394ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix110101() throws Throwable {
395ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_110101;
396e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
397ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 400, 600);
398ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
399ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
400ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix110110() throws Throwable {
401ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_110110;
402e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
403ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 400, 400);
404ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
405ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
406ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix110111() throws Throwable {
407ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_110111;
408e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
409ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 400, 600);
410ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
411ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
412ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix111000() throws Throwable {
413ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_111000;
414e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
415ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 200, 200);
416ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
417ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
418ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix111001() throws Throwable {
419ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_111001;
420e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
421ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 200, 600);
422ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
423ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
424ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix111010() throws Throwable {
425ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_111010;
426e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
427ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 200, 200);
428ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
429ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
430ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix111011() throws Throwable {
431ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_111011;
432e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
433ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 200, 600);
434ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
435ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
436ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix111100() throws Throwable {
437ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_111100;
438e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
439ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 400, 400);
440ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
441ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
442ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix111101() throws Throwable {
443ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_111101;
444e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
445ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 400, 600);
446ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
447ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
448ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix111110() throws Throwable {
449ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_111110;
450e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
451ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 400, 400);
452ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    }
453ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad
454ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad    public void testMatrix111111() throws Throwable {
455ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        final int resId = R.integer.matrix_111111;
456e75b2c267761be6f7d762930b980f435c1789eeaAdam Lesinski        setLocale(new Locale("sv", "SE"));
457ad6ed950dbfa152c193dd7e49c369d9e831f1591Mårten Kongstad        assertResource(resId, 200, 400, 600);
45857f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad    }
45957f4b77c89bafedf9468f9a636561c0c193405c9Mårten Kongstad}
460