The
examples
below are a starting point of cases to check. The list IS NOT complete.
Try to come up with your own corner cases as well. A good overview what
to test is the J2SE 5.0 status
Refactoring
- Rename
- annotations, annotation members (especially the special case
value), enum, enum member, type parameters, vararg parameters
- with varargs, type parameters, generic & parameterized
types in the signature (field, method, local)
- Move CU/Type
- annotations, enum, generic & parameterized types
- Move (method & static members)
- enums and annotations as members in types
- signature with type parameters, varargs, parameterized types
- methods in generic & parameterized types
- methods that refer to a static import or type parameters from
class
- Change method signature
- signature with type parameters, varargs, parameterized types
- methods in annotations, enums, generic & parameterized types
- Convert Anonymous to nested
- annotations, enum, generic & parameterized types
- Move member type to new file
- annotations, enum, generic & parameterized types
- code that refers to static imports
- code that refers to type parameters
- Pull Up & PushDown
- methods in generic & parameterized types
- methods that refer to a static import
- methods with type parameters, varargs, parameterized types
- between generic, normal and parameterized types
- enums and annotations as members in types
- Extract Interface / Use Supertype where possible
- generic and parameterized types
- method with varargs, type parameters, parameterized types
- Generalize Type
- enums and annotations
- generic and parameterized types
- Extract/Inline Method
- Code in generic & parameterized types and enums
- Code that refer to type parameters (from class and method)
- vararg usages
- code with references to static imports
- code with autoboxing
- Extract/Inline local
- expression which resolve to parameterized types, annotations,
enums and type parameters (or the concrete type for parameterized
types)
- Extract/Inline constant
- in enums, annotations, generic and parameterized types
- Introduce parameter
- expression which resolve to parameterized types, annotations,
enums and type parameters (or the concrete type for parameterized
types)
- signature to be changed contains varargs, type parameters,
parameterized types
- Introduce Factory
- for generic and parameterized types
- destination type is generic or parameterized
- Convert local variable to field
- declaring type is parameterized types, annotations, enums
and type parameters (or the concrete type for parameterized types)
- Self encapsulate field
- field type is parameterized types, annotations, enums and
type parameter
- in enums, parameterized types and generic types.
- Infer type arguments
- test for collection classes
- test for own generic classes
- test for classes with n type parameters
Source Actions
Don't forget to check the Javadoc for
the generated methods
- Organize import / add import
- organize import. Define static import groups in the preference
- add import on Math.max should add a static import on max add
should remove Math in code.
- Override/Implement methods
- methods with type parameters, varargs, parameterized types
- from generic and parameterized types
- from annotations
- Generate Getter/Setter
- field type is parameterized types, annotations, enums
and type parameters
- in enums, parameterized types and generic types
- Generate Delegate Methods
- field type is enum, annotation
- field type is type parameter or parametrized type
- Generate Constructor Using fields
- field type is enum, annotation
- field type is type parameter or parametrized type
- Add Constructor from Superclass
- super class is generic or parameterized type
- constructor with type parameters, varargs, parameterized types
- Sort members
- members with type parameters, varargs, ...
- types with enums, annotations, generic and parameterized types
as members
- sort enum, annotations, generic and parameterized types
Search
- test searching for enums, annotations, generic types and methods,
parameterized types and methods and type variables
- test new filters for incompatible and inexact matches
Quick Fix & Quick assist
- Test convert to enhanced for loop (currently only available for
arrays)
- Javadoc tags for type parameters (handled special. creates
<T>)
- quick fix helps you changing the compliance settings when you
try
to enter 5.0 constructs in a 1.4 project. Note that a 1.5 JRE is
required which has to be added in the 'Installed JRE's' preference page
Java Editor
- new syntax colorings
- auto(un)boxed expressions
- new keywords (enum, @interface)
- annotations
- annotation element references
- parameter variables
- code assist
- enums
- static imports
- generics
- enum constant proposals
- annotations
- argument guessing for parameterized types
- verify that the Java Outline displays new J2SE 5.0 constructs correctly
- verify that occurrence marking handles new J2SE 5.0 elements
correctly (check bugzilla first: there are already some bug reports)
- verify that folding works correctly for J2SE 5.0 elements
- test new 'foreach' template
- hovers for new J2SE 5.0 constructs (e.g. hovering over parametrized types)
- format CUs with J2SE 5.0 constructs and verify that they get correctly formatted according to the current formatter settings