Coverage Summary for Class: TestStringSetGenerator (com.google.common.collect.testing)

Class Class, % Method, % Line, %
TestStringSetGenerator 100% (1/1) 100% (5/5) 100% (9/9)


1 /* 2  * Copyright (C) 2007 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  17 package com.google.common.collect.testing; 18  19 import com.google.common.annotations.GwtCompatible; 20 import com.google.common.collect.testing.SampleElements.Strings; 21 import java.util.List; 22 import java.util.Set; 23  24 /** 25  * Create string sets for collection tests. 26  * 27  * @author Kevin Bourrillion 28  */ 29 @GwtCompatible 30 public abstract class TestStringSetGenerator implements TestSetGenerator<String> { 31  @Override 32  public SampleElements<String> samples() { 33  return new Strings(); 34  } 35  36  @Override 37  public Set<String> create(Object... elements) { 38  String[] array = new String[elements.length]; 39  int i = 0; 40  for (Object e : elements) { 41  array[i++] = (String) e; 42  } 43  return create(array); 44  } 45  46  protected abstract Set<String> create(String[] elements); 47  48  @Override 49  public String[] createArray(int length) { 50  return new String[length]; 51  } 52  53  /** 54  * {@inheritDoc} 55  * 56  * <p>By default, returns the supplied elements in their given order; however, generators for 57  * containers with a known order other than insertion order must override this method. 58  * 59  * <p>Note: This default implementation is overkill (but valid) for an unordered container. An 60  * equally valid implementation for an unordered container is to throw an exception. The chosen 61  * implementation, however, has the advantage of working for insertion-ordered containers, as 62  * well. 63  */ 64  @Override 65  public List<String> order(List<String> insertionOrder) { 66  return insertionOrder; 67  } 68 }