(a) DataStructure and Handle interface and abstract base classes.
(a) Comments on getSize() and getCapacity().
(a) Entry.
(a) List interface and abstract base.
(b) The Checks class.
(c) Exceptions.
(a) Output ignored.
(a) ListEntry to ListNode.
(a) SimpleList is implemented.
(a) Trying to use JUnit...
(a) JUnit is resolved.
(b) Size record is updated for lists.
(c) A JUnit test skeleton is written.
(a) SimpleList is implemented.
(a) Some changes to method names (e.g., insertAsNext() to insertAsNextOf()).
(b) Some updates to the @throws tag in Javadoc.
(c) A skeleton for tree structures.
(a) AbstractList's abstract methods (e.g., doGet()) should take Handles rather than ListNodes, since subclasses may choose to use different classes as Handles.
(a) AbstractTree and SimpleTree implemented (not yet tested).
(b) Some updates to the List and Tree interfaces.
(c) StringFormer class for toString() method.
(a) IvyIdea.
(a) Bug fix on StringFormer: now correctly builds "[]" for empty data structures.
(b) Bug fix on List.contains().
(c) More unit tests for lists.
(d) Small updates on TestUtilities class.
(a) Skeleton for tree tests.
(b) Bug fix - tree size is now updated.
(a) Transition to IvyIdea.
(a) Middle-of-work save.
(a) The TestUtilities class is refactored into TestValues (providing values for test data) and TestConstants (for often-used control variables).
(a) List is now iterable.
(b) Helper classes for iterators.