@Override public <S extends Comparable> Ordering<S> nullsFirst() { Ordering<Comparable> result = nullsFirst; if (result == null) { result = nullsFirst = super.nullsFirst(); } return (Ordering<S>) result; }
@Override public <S extends T> Ordering<S> nullsFirst() { return ordering.nullsFirst(); }
@Override public <S extends T> Ordering<S> reverse() { // ordering.reverse() might be optimized, so let it do its thing return ordering.reverse().nullsFirst(); }
@Override public List<String> order(List<String> insertionOrder) { return Ordering.natural().nullsFirst().sortedCopy(insertionOrder); } })
@Override public List<String> order(List<String> insertionOrder) { return Ordering.natural().nullsFirst().sortedCopy(insertionOrder); } })
@Override public List<String> order(List<String> insertionOrder) { return Ordering.natural().nullsFirst().sortedCopy(insertionOrder); } })
@Override protected SetMultimap<String, String> create(Entry<String, String>[] entries) { SetMultimap<String, String> multimap = TreeMultimap.create( Ordering.natural().nullsFirst(), Ordering.natural().nullsFirst()); for (Entry<String, String> entry : entries) { multimap.put(entry.getKey(), entry.getValue()); } return multimap; }
@Override <T> Scenario<?> mutate(Scenario<T> scenario) { @SuppressWarnings("unchecked") List<T> newList = Lists.newArrayList((T) null); for (T t : scenario.strictlyOrderedList) { if (t != null) { newList.add(t); } } return new Scenario<T>(scenario.ordering.nullsFirst(), newList, scenario.emptyArray); } },
@Override protected Set<String> create(String[] elements) { NavigableSet<String> set = new SafeTreeSet<>(Ordering.natural().nullsFirst()); Collections.addAll(set, elements); return set; }
@Override protected SortedMap<String, Integer> makeEmptyMap() { return new SimpleForwardingSortedMap<>( new TreeMap<String, Integer>(Ordering.natural().nullsFirst())); }
@Override protected Set<String> create(String[] elements) { TreeMultimap<Integer, String> multimap = TreeMultimap.create(Ordering.natural(), Ordering.natural().nullsFirst()); multimap.putAll(1, Arrays.asList(elements)); return (Set<String>) multimap.asMap().entrySet().iterator().next().getValue(); }
@SuppressWarnings("unchecked") protected <E> NavigableSet<E> create() { TestSet<E> inner = new TestSet<>(new TreeSet<E>((Comparator<E>) Ordering.natural().nullsFirst()), null); NavigableSet<E> outer = Synchronized.navigableSet(inner, null); inner.mutex = outer; return outer; }
@Override protected Set<String> create(String[] elements) { SafeTreeSet<String> set = new SafeTreeSet<>(Ordering.natural().nullsFirst()); Collections.addAll(set, elements); return new StandardImplForwardingNavigableSet<>(set); }
private TreeMultimap<String, Integer> createMultimap() { TreeMultimap<String, Integer> multimap = TreeMultimap.create( Ordering.<String>natural().nullsFirst(), Ordering.<Integer>natural().nullsFirst()); multimap.put("a", -1); multimap.put("a", -3); multimap.put("z", -2); return multimap; }
public void testNullsFirst() { Ordering<Integer> ordering = Ordering.natural().nullsFirst(); Helpers.testComparator(ordering, null, Integer.MIN_VALUE, 0, 1); new EqualsTester() .addEqualityGroup(ordering, Ordering.natural().nullsFirst()) .addEqualityGroup(numberOrdering.nullsFirst()) .addEqualityGroup(Ordering.natural()) .testEquals(); }
@Override protected Set<String> create(String[] elements) { TreeMultimap<Integer, String> multimap = TreeMultimap.create(Ordering.natural(), Ordering.natural().nullsFirst()); multimap.putAll(1, Arrays.asList(elements)); return multimap.get(1); }
@Override protected NavigableSet<String> create(String[] elements) { TreeMultimap<String, Integer> multimap = TreeMultimap.create(Ordering.natural().nullsFirst(), Ordering.natural()); for (int i = 0; i < elements.length; i++) { multimap.put(elements[i], i); } return multimap.keySet(); }
public void testBuilderSetCountHandlesNullsCorrectly() { ImmutableSortedMultiset.Builder<String> builder = new ImmutableSortedMultiset.Builder<>(Ordering.natural().nullsFirst()); try { builder.setCount(null, 2); fail("expected NullPointerException"); } catch (NullPointerException expected) { } }
@Override protected <K, V> NavigableMap<K, V> create() { @SuppressWarnings("unchecked") NavigableMap<K, V> innermost = new SafeTreeMap<>((Comparator<? super K>) Ordering.natural().nullsFirst()); TestMap<K, V> inner = new TestMap<>(innermost, mutex); NavigableMap<K, V> outer = Synchronized.navigableMap(inner, mutex); return outer; }
@GwtIncompatible // NullPointerTester public void testNullPointerExceptions() { NullPointerTester tester = new NullPointerTester(); tester.testAllPublicStaticMethods(Ordering.class); // any Ordering<Object> instance that accepts nulls should be good enough tester.testAllPublicInstanceMethods(Ordering.usingToString().nullsFirst()); }