You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Justin Guertin (JIRA)" <ji...@apache.org> on 2015/09/24 00:47:04 UTC

[jira] [Created] (GROOVY-7602) Intersect returns an empty list when the contents of the compared Collections are Maps

Justin Guertin created GROOVY-7602:
--------------------------------------

             Summary: Intersect returns an empty list when the contents of the compared Collections are Maps
                 Key: GROOVY-7602
                 URL: https://issues.apache.org/jira/browse/GROOVY-7602
             Project: Groovy
          Issue Type: Bug
    Affects Versions: 2.3.11
         Environment: Mac OS X 10.9.5
Oracle Java 1.8.0_60
            Reporter: Justin Guertin


When I compare two lists with intersect and both lists contain maps I do not get any results, even if the contents are equivalent. The test fails in Groovy 2.3.11, but passes in 2.3.7.

{code}
import org.junit.Test

class IntersectTest {
    @Test
    void testIntersect() {
        def list1 = [[language: 'Java'], [language: 'Groovy'], [language: 'Scala']]
        def list2 = [[language: 'Groovy'], [language: 'JRuby'], [language: 'Java']]
        def intersection = list1.intersect(list2)

        assert list1[0] == list2[2] // proves that there should be intersecting values
        println "Intersection: $intersection"
        assert intersection == [[language: 'Groovy'], [language: 'Java']]
    }
}
{code}

The intersect call returns an empty list in 2.3.11, resulting in the following output:
{code}
Intersection: []

Assertion failed: 

assert intersection == [[language: 'Groovy'], [language: 'Java']]
       |            |
       []           false
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)