Fix includingRange() for Long.
diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyBag.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyBag.java
index 7e83030..926741f 100644
--- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyBag.java
+++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyBag.java
@@ -277,8 +277,8 @@
*/
@Override
public boolean contains(Object o) {
- if (o instanceof Integer) {
- final Integer obj = (Integer) o;
+ if (o instanceof Long) {
+ final Long obj = (Long) o;
return (obj >= first && obj <= last);
}
return false;
diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyList.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyList.java
index ff14823..ae2a71b 100644
--- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyList.java
+++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyList.java
@@ -1380,8 +1380,8 @@
*/
@Override
public boolean contains(Object o) {
- if (o instanceof Integer) {
- final Integer obj = (Integer) o;
+ if (o instanceof Long) {
+ final Long obj = (Long) o;
return (obj >= first && obj <= last);
}
return false;
@@ -2133,7 +2133,7 @@
return union((LazyList<E>) new IntegerRangeList((Integer) first, (Integer) last));
}
if (first instanceof Long && last instanceof Long) {
- return union((LazyList<E>) new LongRangeList((Integer) first, (Integer) last));
+ return union((LazyList<E>) new LongRangeList((Long) first, (Long) last));
}
throw new IllegalArgumentException(String.format("includingRange() not supported for arguments of type %s and %s", first.getClass()
.getName(), last.getClass().getName()));
diff --git a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyOrderedSet.java b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyOrderedSet.java
index 31843c5..632ade5 100644
--- a/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyOrderedSet.java
+++ b/plugins/org.eclipse.m2m.atl.emftvm/src/org/eclipse/m2m/atl/emftvm/util/LazyOrderedSet.java
@@ -2516,7 +2516,7 @@
return union((LazyOrderedSet<E>) new IntegerRangeOrderedSet((Integer) first, (Integer) last));
}
if (first instanceof Long && last instanceof Long) {
- return union((LazyOrderedSet<E>) new LongRangeOrderedSet((Integer) first, (Integer) last));
+ return union((LazyOrderedSet<E>) new LongRangeOrderedSet((Long) first, (Long) last));
}
throw new IllegalArgumentException(String.format("includingRange() not supported for arguments of type %s and %s", first.getClass()
.getName(), last.getClass().getName()));
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/util/tests/LazyCollectionTest.java b/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/util/tests/LazyCollectionTest.java
index 8e974db..17d42f2 100644
--- a/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/util/tests/LazyCollectionTest.java
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/util/tests/LazyCollectionTest.java
@@ -579,21 +579,40 @@
} catch (IllegalArgumentException e) {
// expected
}
- final LazyCollection<Integer> intlist = getEmptyLazyCollection();
- final LazyCollection<Integer> appended = intlist.includingRange(300, 400);
- assertEquals(intlist.size() + 400 - 300 + 1, appended.size());
- assertTrue(appended.contains(300));
- assertTrue(appended.contains(301));
- assertTrue(appended.contains(349));
- assertTrue(appended.contains(399));
- assertTrue(appended.contains(400));
- // Test iterator
- int index = 0;
- for (Integer element : appended) {
- assertEquals(index + 300, element.intValue());
- index++;
+ {
+ final LazyCollection<Integer> intlist = getEmptyLazyCollection();
+ final LazyCollection<Integer> appended = intlist.includingRange(300, 400);
+ assertEquals(intlist.size() + 400 - 300 + 1, appended.size());
+ assertTrue(appended.contains(300));
+ assertTrue(appended.contains(301));
+ assertTrue(appended.contains(349));
+ assertTrue(appended.contains(399));
+ assertTrue(appended.contains(400));
+ // Test iterator
+ int index = 0;
+ for (Integer element : appended) {
+ assertEquals(index + 300, element.intValue());
+ index++;
+ }
+ assertEquals(appended.size(), index);
}
- assertEquals(appended.size(), index);
+ {
+ final LazyCollection<Long> longlist = getEmptyLazyCollection();
+ final LazyCollection<Long> appended = longlist.includingRange(300L, 400L);
+ assertEquals(longlist.size() + 400 - 300 + 1, appended.size());
+ assertTrue(appended.contains(300L));
+ assertTrue(appended.contains(301L));
+ assertTrue(appended.contains(349L));
+ assertTrue(appended.contains(399L));
+ assertTrue(appended.contains(400L));
+ // Test iterator
+ int index = 0;
+ for (Long element : appended) {
+ assertEquals(index + 300, element.intValue());
+ index++;
+ }
+ assertEquals(appended.size(), index);
+ }
}
/**