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