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