ArrayUtilsTest.java revision 94c91dca55de9ffdbe072fcc5dd6dbf1efe5e4c1
1/* 2 * Copyright (C) 2013 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.internal.util; 18 19import junit.framework.TestCase; 20 21/** 22 * Tests for {@link ArrayUtils} 23 */ 24public class ArrayUtilsTest extends TestCase { 25 public void testContains() throws Exception { 26 final Object A = new Object(); 27 final Object B = new Object(); 28 final Object C = new Object(); 29 final Object D = new Object(); 30 31 assertTrue(ArrayUtils.contains(new Object[] { A, B, C }, A)); 32 assertTrue(ArrayUtils.contains(new Object[] { A, B, C }, B)); 33 assertTrue(ArrayUtils.contains(new Object[] { A, B, C }, C)); 34 assertTrue(ArrayUtils.contains(new Object[] { A, null, C }, null)); 35 36 assertFalse(ArrayUtils.contains(new Object[] { A, B, C }, null)); 37 assertFalse(ArrayUtils.contains(new Object[] { }, null)); 38 assertFalse(ArrayUtils.contains(new Object[] { null }, A)); 39 } 40 41 public void testIndexOf() throws Exception { 42 final Object A = new Object(); 43 final Object B = new Object(); 44 final Object C = new Object(); 45 final Object D = new Object(); 46 47 assertEquals(0, ArrayUtils.indexOf(new Object[] { A, B, C }, A)); 48 assertEquals(1, ArrayUtils.indexOf(new Object[] { A, B, C }, B)); 49 assertEquals(2, ArrayUtils.indexOf(new Object[] { A, B, C }, C)); 50 assertEquals(-1, ArrayUtils.indexOf(new Object[] { A, B, C }, D)); 51 52 assertEquals(-1, ArrayUtils.indexOf(new Object[] { A, B, C }, null)); 53 assertEquals(-1, ArrayUtils.indexOf(new Object[] { }, A)); 54 assertEquals(-1, ArrayUtils.indexOf(new Object[] { }, null)); 55 56 assertEquals(0, ArrayUtils.indexOf(new Object[] { null, null }, null)); 57 assertEquals(1, ArrayUtils.indexOf(new Object[] { A, null, B }, null)); 58 assertEquals(2, ArrayUtils.indexOf(new Object[] { A, null, B }, B)); 59 } 60 61 public void testContainsAll() throws Exception { 62 final Object A = new Object(); 63 final Object B = new Object(); 64 final Object C = new Object(); 65 66 assertTrue(ArrayUtils.containsAll(new Object[] { C, B, A }, new Object[] { A, B, C })); 67 assertTrue(ArrayUtils.containsAll(new Object[] { A, B }, new Object[] { A })); 68 assertTrue(ArrayUtils.containsAll(new Object[] { A }, new Object[] { A })); 69 assertTrue(ArrayUtils.containsAll(new Object[] { A }, new Object[] { })); 70 assertTrue(ArrayUtils.containsAll(new Object[] { }, new Object[] { })); 71 assertTrue(ArrayUtils.containsAll(new Object[] { null }, new Object[] { })); 72 assertTrue(ArrayUtils.containsAll(new Object[] { null }, new Object[] { null })); 73 assertTrue(ArrayUtils.containsAll(new Object[] { A, null, C }, new Object[] { C, null })); 74 75 assertFalse(ArrayUtils.containsAll(new Object[] { }, new Object[] { A })); 76 assertFalse(ArrayUtils.containsAll(new Object[] { B }, new Object[] { A })); 77 assertFalse(ArrayUtils.containsAll(new Object[] { }, new Object[] { null })); 78 assertFalse(ArrayUtils.containsAll(new Object[] { A }, new Object[] { null })); 79 } 80} 81