11422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki/*
21422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki * Copyright (C) 2012 The Android Open Source Project
31422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki *
41422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki * Licensed under the Apache License, Version 2.0 (the "License");
51422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki * you may not use this file except in compliance with the License.
61422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki * You may obtain a copy of the License at
71422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki *
81422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki *      http://www.apache.org/licenses/LICENSE-2.0
91422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki *
101422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki * Unless required by applicable law or agreed to in writing, software
111422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki * distributed under the License is distributed on an "AS IS" BASIS,
121422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
131422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki * See the License for the specific language governing permissions and
141422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki * limitations under the License.
151422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki */
161422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki
171422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onukipackage com.android.providers.contacts;
181422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki
191422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onukiimport android.graphics.Bitmap;
201422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onukiimport android.graphics.Color;
211422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onukiimport android.graphics.drawable.BitmapDrawable;
221422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onukiimport android.graphics.drawable.Drawable;
231422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onukiimport android.test.AndroidTestCase;
24c4a1f1d6b0cf24fb9998d59511e39b097c7a081dMakoto Onukiimport android.test.suitebuilder.annotation.SmallTest;
251422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki
261422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onukiimport com.android.providers.contacts.tests.R;
271422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki
28da5774624b1ecf2554d8492e174930d246ec94eeJay Shraunerimport java.io.IOException;
29da5774624b1ecf2554d8492e174930d246ec94eeJay Shrauner
301422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki
311422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki/**
321422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki * Tests for {@link PhotoProcessor}.
331422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki *
341422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki * Most of tests are covered by {@link PhotoStoreTest}.
351422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki */
36c4a1f1d6b0cf24fb9998d59511e39b097c7a081dMakoto Onuki@SmallTest
371422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onukipublic class PhotoProcessorTest extends AndroidTestCase {
381422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki
39da5774624b1ecf2554d8492e174930d246ec94eeJay Shrauner    public void testTransparency() throws IOException {
401422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki        final Drawable source = getTestContext().getResources().getDrawable(
411422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki                R.drawable.transparent_10x10);
421422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki        final Bitmap sourceBitmap = ((BitmapDrawable) source).getBitmap();
431422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki
441422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki        final Bitmap normalized = PhotoProcessor.getNormalizedBitmap(sourceBitmap, 50, false);
451422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki
461422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki        // Make sure it's not scaled up.
471422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki        assertEquals(10, normalized.getWidth());
481422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki        assertEquals(10, normalized.getHeight());
491422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki
501422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki        // Make sure the transparent pixel is now 100% white.
511422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki        assertEquals(Color.argb(255, 255, 255, 255), normalized.getPixel(0, 0));
521422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki    }
531422d81607669bdc2ebd51c1b71f6640293d85cdMakoto Onuki}
54