Daniele created COLLECTIONS-861:
-----------------------------------

             Summary: Documentation Bug: CollectionUtils.select(Iterable, 
Predicate, Collection, Collection), CollectionUtils.selectRejected(Iterable, 
Predicate, Collection)
                 Key: COLLECTIONS-861
                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-861
             Project: Commons Collections
          Issue Type: Bug
            Reporter: Daniele


*CollectionUtils.select(Iterable, Predicate, Collection, Collection):*

A ConcurrentModificationException can be thrown, but not signed in the 
specification, also "return the outputCollection" is ambiguous because 
outputCollection is a parameter and it seems like the method should return that 
parameter as it is, but in is modified inside the method.

*Test used (generated by EvoSuite):*
{code:java}
/* * This file was automatically generated by EvoSuite * Sun May 05 21:09:14 
GMT 2024 */package org.apache.commons.collections4;
import org.junit.Test;import static org.junit.Assert.*;import static 
shaded.org.evosuite.shaded.org.mockito.Mockito.*;import static 
shaded.org.evosuite.runtime.EvoAssertions.*;import java.util.Collection;import 
java.util.Comparator;import java.util.ConcurrentModificationException;import 
java.util.LinkedList;import java.util.PriorityQueue;import 
org.apache.commons.collections4.CollectionUtils;import 
org.apache.commons.collections4.Predicate;import 
org.apache.commons.collections4.functors.UniquePredicate;import 
org.junit.runner.RunWith;import shaded.org.evosuite.runtime.EvoRunner;import 
shaded.org.evosuite.runtime.EvoRunnerParameters;import 
shaded.org.evosuite.runtime.ViolatedAssumptionAnswer;
@RunWith(EvoRunner.class)@EvoRunnerParameters(mockJVMNonDeterminism = true, 
useVNET = true, separateClassLoader = true)public class 
CollectionUtils_12_failure_Test extends 
CollectionUtils_12_failure_Test_scaffolding {
    //Covered goal: 
org.apache.commons.collections4.CollectionUtils.select(Ljava/lang/Iterable;Lorg/apache/commons/collections4/Predicate;Ljava/util/Collection;Ljava/util/Collection;)Ljava/util/Collection;:
 true ---> methodResultID.equals(args[2]) -- path condition 
org.apache.commons.collections4.EvoSuiteEvaluator_12_failure (id = 3)    
@Test(timeout = 4000)    public void testSelect_OutputCollection() throws 
Throwable {        Comparator<? super Object> comparator0 = (Comparator<? super 
Object>) mock(Comparator.class, new ViolatedAssumptionAnswer());        
doReturn(89).when(comparator0).compare(any(), any());        
PriorityQueue<Object> priorityQueue0 = new PriorityQueue<Object>(comparator0);  
      LinkedList<Object> linkedList0 = new LinkedList<Object>();        boolean 
boolean0 = priorityQueue0.add(linkedList0);        UniquePredicate<Object> 
uniquePredicate0 = new UniquePredicate<Object>();        // Undeclared 
exception!        try {            //** Guard on which the oracle of method 
select depends: true            org.junit.Assume.assumeTrue(true);            
//** Precondition on which method select depends: (args[0]==null) == false && 
(args[1]==null) == false || (args[2]==null) == false            
org.junit.Assume.assumeTrue((((Iterable<?>) priorityQueue0) == null) == false 
&& (((Predicate<? super Object>) uniquePredicate0) == null) == false || 
(((Collection<Object>) priorityQueue0) == null) == false);            //** 
Precondition on which method select depends: (args[0]==null) == false || 
(args[1]==null) == false || (args[3]==null) == false            
org.junit.Assume.assumeTrue((((Iterable<?>) priorityQueue0) == null) == false 
|| (((Predicate<? super Object>) uniquePredicate0) == null) == false || 
(((Collection<Object>) priorityQueue0) == null) == false);            //** 
Automatically generated test oracle is: the outputCollection., with guard: { 
description: the outputCollection., conditionText: true }            
java.util.Collection<?> //** Automatically generated test oracle is: the 
outputCollection., with guard: { description: the outputCollection., 
conditionText: true }            _methodResult__ = 
CollectionUtils.select((Iterable<?>) priorityQueue0, (Predicate<? super 
Object>) uniquePredicate0, (Collection<Object>) priorityQueue0, 
(Collection<Object>) priorityQueue0);            //** Postcondition on which 
the oracle of method select depends: methodResultID.equals(args[2])            
org.junit.Assert.assertTrue(_methodResult__.equals(((Collection<Object>) 
priorityQueue0)));        } catch (ConcurrentModificationException e) {         
   //            // no message in exception (getMessage() returned null)        
    //            verifyException("java.util.PriorityQueue$Itr", e);            
org.junit.Assert.fail();        }        if (true)            throw new 
RuntimeException("Failure-driven test case completed without pinpointing any 
failure. This should not happen. Please check");    }} {code}
*CollectionUtils.selectRejected(Iterable, Predicate, Collection):*

A RuntimeException can be thrown, but not signed in the specification, also 
"return  outputCollection" is ambiguous because outputCollection is a parameter 
and it seems like the method should return that parameter as it is, but in is 
modified inside the method.

*Test used (generated by EvoSuite):*
{code:java}
/* * This file was automatically generated by EvoSuite * Sun May 05 21:09:36 
GMT 2024 */package org.apache.commons.collections4;
import org.junit.Test;import static org.junit.Assert.*;import static 
shaded.org.evosuite.shaded.org.mockito.Mockito.*;import static 
shaded.org.evosuite.runtime.EvoAssertions.*;import java.util.Collection;import 
java.util.LinkedList;import java.util.Vector;import 
org.apache.commons.collections4.CollectionUtils;import 
org.apache.commons.collections4.Predicate;import 
org.apache.commons.collections4.functors.ExceptionPredicate;import 
org.apache.commons.collections4.functors.NullIsExceptionPredicate;import 
org.junit.runner.RunWith;import shaded.org.evosuite.runtime.EvoRunner;import 
shaded.org.evosuite.runtime.EvoRunnerParameters;import 
shaded.org.evosuite.runtime.ViolatedAssumptionAnswer;
@RunWith(EvoRunner.class)@EvoRunnerParameters(mockJVMNonDeterminism = true, 
useVNET = true, separateClassLoader = true)public class 
CollectionUtils_14_failure_Test extends 
CollectionUtils_14_failure_Test_scaffolding {
    //Covered goal: 
org.apache.commons.collections4.CollectionUtils.selectRejected(Ljava/lang/Iterable;Lorg/apache/commons/collections4/Predicate;Ljava/util/Collection;)Ljava/util/Collection;:
 true ---> methodResultID.equals(args[2]) -- path condition 
org.apache.commons.collections4.EvoSuiteEvaluator_14_failure (id = 7)    
@Test(timeout = 4000)    public void testSelectRejected_OutputCollection() 
throws Throwable {        Predicate<Object> predicate0 = 
ExceptionPredicate.exceptionPredicate();        
NullIsExceptionPredicate<Object> nullIsExceptionPredicate0 = new 
NullIsExceptionPredicate<Object>(predicate0);        LinkedList<Object> 
linkedList0 = new LinkedList<Object>();        Vector<Comparable<Object>> 
vector0 = new Vector<Comparable<Object>>(6935, 6935);        Comparable<Object> 
comparable0 = (Comparable<Object>) mock(Comparable.class, new 
ViolatedAssumptionAnswer());        boolean boolean0 = 
vector0.add(comparable0);        // Undeclared exception!        try {          
  //** Guard on which the oracle of method selectRejected depends: true         
   org.junit.Assume.assumeTrue(true);            //** Precondition on which 
method selectRejected depends: (args[2]==null) == false            
org.junit.Assume.assumeTrue((((Collection<Object>) linkedList0) == null) == 
false);            //** Automatically generated test oracle is: 
outputCollection., with guard: { description: outputCollection., conditionText: 
true }            java.util.Collection<?> //** Automatically generated test 
oracle is: outputCollection., with guard: { description: outputCollection., 
conditionText: true }            _methodResult__ = 
CollectionUtils.selectRejected((Iterable<? extends Comparable<Object>>) 
vector0, (Predicate<? super Comparable<Object>>) nullIsExceptionPredicate0, 
(Collection<Object>) linkedList0);            //** Postcondition on which the 
oracle of method selectRejected depends: methodResultID.equals(args[2])         
   org.junit.Assert.assertTrue(_methodResult__.equals(((Collection<Object>) 
linkedList0)));        } catch (RuntimeException e) {            //            
// ExceptionPredicate invoked            //            
verifyException("org.apache.commons.collections4.functors.ExceptionPredicate", 
e);            org.junit.Assert.fail();        }        if (true)            
throw new RuntimeException("Failure-driven test case completed without 
pinpointing any failure. This should not happen. Please check");    }} {code}
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to