15b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki/*
25b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki * Copyright (C) 2010 The Android Open Source Project
35b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki *
45b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki * Licensed under the Apache License, Version 2.0 (the "License");
55b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki * you may not use this file except in compliance with the License.
65b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki * You may obtain a copy of the License at
75b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki *
85b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki *      http://www.apache.org/licenses/LICENSE-2.0
95b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki *
105b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki * Unless required by applicable law or agreed to in writing, software
115b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki * distributed under the License is distributed on an "AS IS" BASIS,
125b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki * See the License for the specific language governing permissions and
145b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki * limitations under the License.
155b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki */
165b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki
175b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onukipackage com.android.email;
185b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki
195b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onukiimport android.graphics.Paint;
205b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onukiimport android.test.AndroidTestCase;
215b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki
225b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onukipublic class ResourceHelperTest extends AndroidTestCase {
235b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki    private ResourceHelper mResourceHelper;
245b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki
255b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki    @Override
265b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki    protected void setUp() throws Exception {
275b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki        super.setUp();
285b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki        mResourceHelper = ResourceHelper.getInstance(getContext());
295b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki    }
305b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki
315b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki    public void testGetAccountColor() {
325b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki        Integer lastColor = null;
335b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki        Paint lastPaint = null;
345b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki
355b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki        for (long accountId = -1; accountId < 100; accountId++) {
365b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki            // Shouldn't throw any exception (such as IndexOutOfRange)
375b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki            Integer color = mResourceHelper.getAccountColor(accountId);
385b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki            Paint paint = mResourceHelper.getAccountColorPaint(accountId);
395b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki
405b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki            // Should be different from the previous one
415b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki            assertNotNull(color);
425b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki            assertNotNull(paint);
435b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki            assertFalse(color.equals(lastColor));
445b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki            assertFalse(paint.equals(lastPaint));
455b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki
465b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki            lastColor = color;
475b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki            lastPaint = paint;
485b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki        }
495b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki    }
505b81690de1ea15035ab0539df683acd8e28b0ebdMakoto Onuki}
51