forked from eclipse-collections/eclipse-collections
-
Notifications
You must be signed in to change notification settings - Fork 0
Todo list
Craig P. Motlin edited this page Dec 25, 2015
·
1 revision
- Split slow acceptance tests
- ParallelUnsafeMapIteratePutAcceptanceTest.testMapIteratePut
- ParallelMapIteratePutAcceptanceTest.testMapIteratePut
- IntLongMapProbeTest
- IntIntMapProbeTest
- Remove
Assume
- Turn on javac lint errors
- Lazy distinct(hashingStrategy)
- Build
- Update IntelliJ project files for IntelliJ 15.
- Try caching target/ directories in Travis, or at least generated-sources directories.
- Fix the javadoc task in the ant build to ignore the .crc files.
- Add ant build to the list of Travis builds.
- Test that the Java 6 and 7 builds really fail when relying on new language or library features.
- API
- New API
-
MutableSortedIterable
interface, used inSorted*TestCase
. -
<V> LazyIterable<V> collectWithIndex(ObjectIntToObjectFunction<? super T, ? extends V> function);
- Lazy implementation of
flatCollectWith().
-
LazyIterable.hasSameElements()
andLazyIterable.corresponds().
- Implement MapIterable.getIfAbsentThrow() similar to the method on primitive maps.
- Pull up ListIterable.distinct(HashingStrategy) to OrderedIterable.distinct(HashingStrategy).
- RichIterable.groupByWith() and a variant that takes a target multimap.
- RichIterable.groupBy(function1, function2, function3)
- RichIterable.toMultimap((T) -> K, (T) -> Iterable)
- Come up with a generic short-circuiting pattern that all others (anySatisfy, detect, etc.) can be implemented in terms of.
- toMutable() on read-only interfaces.
-
- Pull methods up
- Pull up the castTo methods from immutable to read-only interfaces.
- MutableCollection.toImmutable().
- Return types
- Min/Max should return the same type as select() because there can be 0-to-many extreme elements.
- Bag-like methods on UnsortedMapIterable like select() could return UnsortedMapIterable instead of Bag.
- List-like method on OrderedMapIterable like select() could return OrderedMapIterable instead of List.
- OrderedMap API
- Finish linked hash map implementation.
- Make SortedMap.groupByUniqueKey() return OrderedMap.
- Make SortedMapIterable.collect() return OrderedMapIterable.
- Rename UnsortedMapIterable as UnorderedMapIterable.
- Make methods final that take a target since there's limited benefit of overriding them since they create garbage anyway.
- Replace usages of SynchronizedRichIterable with SynchronizedMutabledSet for keySets.
- Write tests that expect UnsupportedOperationException for the newish unsupported API.
- Add the HashingStrategy from SO post http://stackoverflow.com/questions/214136/why-not-allow-an-external-interface-to-provide-hashcode-equals-for-a-hashmap/27727253#27727253
- New API
- Extract AbstractSingletonIterable above immutablePrimitiveObjectSingletonMap to reduce code duplication.
- Add trait-style tests for sorted bags.
- Add information about signing commits to CONTRIBUTING.md
- Extract abstract super class of ImmutableObjectHashMap<V> with a protected getDelegate() method which returns RichIterable.
- Java 8
- Remove usages of static factory methods that delegate to constructors. The point of them was for better type inference, which is mostly unnecessary since Java 7.
- Remove Javadoc examples "Example using an anonymous inner class"
- API that uses Java 8 Optional
-
RichIterable.getFirstOptional()
andRichIterable.getLastOptional()
-
RichIterable.detectOptional()
-
MapIterable.getOptional()
andMapIterable.putOptional()
-
- Rounding bugs
-
MultiReaderFastListParallelListIterableTest>ParallelIterableTestCase.sumOfFloatConsistentRounding:888 Batch size: 1000 expected:<5.0000000000000995> but was:<5.000000000000101>
-
-
java.lang.AssertionError: Batch size: 10000 Expected :5.0000000000000995 Actual :5.000000000000101
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:553)
at org.eclipse.collections.impl.lazy.parallel.ParallelIterableTestCase.sumOfDoubleConsistentRounding(ParallelIterableTestCase.java:918)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:119)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)