BucketTests.java revision f78a300c82748e29a3890c8f17a13726aacf33be
1f78a300c82748e29a3890c8f17a13726aacf33beChris Banes/* 2f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * Copyright (C) 2015 The Android Open Source Project 3f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * 4f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * Licensed under the Apache License, Version 2.0 (the "License"); 5f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * you may not use this file except in compliance with the License. 6f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * You may obtain a copy of the License at 7f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * 8f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * http://www.apache.org/licenses/LICENSE-2.0 9f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * 10f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * Unless required by applicable law or agreed to in writing, software 11f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * distributed under the License is distributed on an "AS IS" BASIS, 12f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * See the License for the specific language governing permissions and 14f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * limitations under the License. 15f78a300c82748e29a3890c8f17a13726aacf33beChris Banes */ 16f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 17f78a300c82748e29a3890c8f17a13726aacf33beChris Banespackage android.support.v7.graphics; 18f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 19f78a300c82748e29a3890c8f17a13726aacf33beChris Banesimport android.graphics.Bitmap; 20f78a300c82748e29a3890c8f17a13726aacf33beChris Banesimport android.graphics.BitmapFactory; 21f78a300c82748e29a3890c8f17a13726aacf33beChris Banesimport android.graphics.Color; 22f78a300c82748e29a3890c8f17a13726aacf33beChris Banesimport android.test.InstrumentationTestCase; 23f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 24f78a300c82748e29a3890c8f17a13726aacf33beChris Banesimport java.util.ArrayList; 25f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 26f78a300c82748e29a3890c8f17a13726aacf33beChris Banes/** 27f78a300c82748e29a3890c8f17a13726aacf33beChris Banes * @hide 28f78a300c82748e29a3890c8f17a13726aacf33beChris Banes */ 29f78a300c82748e29a3890c8f17a13726aacf33beChris Banespublic class BucketTests extends InstrumentationTestCase { 30f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 31f78a300c82748e29a3890c8f17a13726aacf33beChris Banes private Bitmap mSource; 32f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 33f78a300c82748e29a3890c8f17a13726aacf33beChris Banes @Override 34f78a300c82748e29a3890c8f17a13726aacf33beChris Banes protected void setUp() throws Exception { 35f78a300c82748e29a3890c8f17a13726aacf33beChris Banes super.setUp(); 36f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 37f78a300c82748e29a3890c8f17a13726aacf33beChris Banes mSource = BitmapFactory.decodeResource(getInstrumentation().getContext().getResources(), 38f78a300c82748e29a3890c8f17a13726aacf33beChris Banes android.R.drawable.sym_def_app_icon); 39f78a300c82748e29a3890c8f17a13726aacf33beChris Banes } 40f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 41f78a300c82748e29a3890c8f17a13726aacf33beChris Banes public void testSourceBitmapNotRecycled() { 42f78a300c82748e29a3890c8f17a13726aacf33beChris Banes Palette.from(mSource).generate(); 43f78a300c82748e29a3890c8f17a13726aacf33beChris Banes assertFalse(mSource.isRecycled()); 44f78a300c82748e29a3890c8f17a13726aacf33beChris Banes } 45f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 46f78a300c82748e29a3890c8f17a13726aacf33beChris Banes public void testSwatchesUnmodifiable() { 47f78a300c82748e29a3890c8f17a13726aacf33beChris Banes Palette p = Palette.from(mSource).generate(); 48f78a300c82748e29a3890c8f17a13726aacf33beChris Banes boolean thrown = false; 49f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 50f78a300c82748e29a3890c8f17a13726aacf33beChris Banes try { 51f78a300c82748e29a3890c8f17a13726aacf33beChris Banes p.getSwatches().remove(0); 52f78a300c82748e29a3890c8f17a13726aacf33beChris Banes } catch (UnsupportedOperationException e) { 53f78a300c82748e29a3890c8f17a13726aacf33beChris Banes thrown = true; 54f78a300c82748e29a3890c8f17a13726aacf33beChris Banes } 55f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 56f78a300c82748e29a3890c8f17a13726aacf33beChris Banes assertTrue(thrown); 57f78a300c82748e29a3890c8f17a13726aacf33beChris Banes } 58f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 59f78a300c82748e29a3890c8f17a13726aacf33beChris Banes public void testSwatchesBuilder() { 60f78a300c82748e29a3890c8f17a13726aacf33beChris Banes ArrayList<Palette.Swatch> swatches = new ArrayList<>(); 61f78a300c82748e29a3890c8f17a13726aacf33beChris Banes swatches.add(new Palette.Swatch(Color.BLACK, 40)); 62f78a300c82748e29a3890c8f17a13726aacf33beChris Banes swatches.add(new Palette.Swatch(Color.GREEN, 60)); 63f78a300c82748e29a3890c8f17a13726aacf33beChris Banes swatches.add(new Palette.Swatch(Color.BLUE, 10)); 64f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 65f78a300c82748e29a3890c8f17a13726aacf33beChris Banes Palette p = Palette.from(swatches); 66f78a300c82748e29a3890c8f17a13726aacf33beChris Banes 67f78a300c82748e29a3890c8f17a13726aacf33beChris Banes assertEquals(swatches, p.getSwatches()); 68f78a300c82748e29a3890c8f17a13726aacf33beChris Banes } 69f78a300c82748e29a3890c8f17a13726aacf33beChris Banes} 70