/*
* Copyright 2015 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.errorprone.bugpatterns.testdata;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* @author glorioso@google.com (Nick Glorioso)
*/
public class SizeGreaterThanOrEqualsZeroNegativeCases {
private List<Integer> intList = new ArrayList<>();
private Set<Integer> intSet = new HashSet<>();
private Collection<Integer> intCollection = intList;
public boolean testEquality() {
boolean foo;
foo = intList.size() > 0;
foo = intSet.size() >= 1;
foo = intCollection.size() <= 0;
foo = intCollection.size() == 0;
foo = intCollection.size() < 0;
if (new ArrayList<Integer>().size() > 0) {}
CollectionContainer baz = new CollectionContainer();
if (baz.intList.size() >= 1) {}
if (baz.getIntList().size() >= 1) {}
// These are incorrect comparisons, but we've chosen to not attempt to find these issues
foo = (((((new HasASizeMethod()))))).size() >= 0;
foo = new HasASizeMethod().length >= 0;
return foo;
}
private static int[] staticIntArray;
private int[] intArray;
private boolean[][] twoDarray;
public boolean arrayLength() {
int zero = 0;
boolean foo = intArray.length > 0;
foo = twoDarray.length >= 1;
foo = staticIntArray.length >= -1;
foo = twoDarray[0].length > 0;
foo = (((((twoDarray))))).length > zero;
return foo;
}
private static class CollectionContainer {
List<Integer> intList;
List<Integer> getIntList() {
return intList;
}
}
private static class HasASizeMethod {
public int length = 0;
public int size() { return length; }
}
}