ListLastIndexOfTester.java revision 3c77433663281544363151bf284b0240dfd22a42
1/* 2 * Copyright (C) 2008 The Guava Authors 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.google.common.collect.testing.testers; 18 19import static com.google.common.collect.testing.features.CollectionFeature.REJECTS_DUPLICATES_AT_CREATION; 20import static com.google.common.collect.testing.features.CollectionSize.ONE; 21import static com.google.common.collect.testing.features.CollectionSize.ZERO; 22 23import com.google.common.annotations.GwtCompatible; 24import com.google.common.collect.testing.features.CollectionFeature; 25import com.google.common.collect.testing.features.CollectionSize; 26 27/** 28 * A generic JUnit test which tests {@code lastIndexOf()} operations on a list. 29 * Can't be invoked directly; please see 30 * {@link com.google.common.collect.testing.ListTestSuiteBuilder}. 31 * 32 * <p>This class is GWT compatible. 33 * 34 * @author Chris Povirk 35 */ 36@GwtCompatible 37public class ListLastIndexOfTester<E> extends AbstractListIndexOfTester<E> { 38 @Override protected int find(Object o) { 39 return getList().lastIndexOf(o); 40 } 41 42 @Override protected String getMethodName() { 43 return "lastIndexOf"; 44 } 45 46 @CollectionFeature.Require(absent = REJECTS_DUPLICATES_AT_CREATION) 47 @CollectionSize.Require(absent = {ZERO, ONE}) 48 public void testLastIndexOf_duplicate() { 49 E[] array = createSamplesArray(); 50 array[getNumElements() / 2] = samples.e0; 51 collection = getSubjectGenerator().create(array); 52 assertEquals( 53 "lastIndexOf(duplicate) should return index of last occurrence", 54 getNumElements() / 2, getList().lastIndexOf(samples.e0)); 55 } 56} 57