| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> |
| |
| <title>5.0 Test Items</title> |
| |
| <style type="text/css"> |
| </style> |
| |
| </head> |
| |
| <body> |
| 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 <br> |
| <h4>Refactoring<br> |
| </h4> |
| <ul> |
| <li>Rename<br> |
| </li> |
| <ul> |
| <li>annotations, annotation members (especially the special case |
| value), enum, enum member, type parameters, vararg parameters</li> |
| <li>with varargs, type parameters, generic & parameterized |
| types in the signature (field, method, local)</li> |
| </ul> |
| <li>Move CU/Type</li> |
| <ul> |
| <li>annotations, enum, generic & parameterized types<br> |
| </li> |
| </ul> |
| <li>Move (method & static members)</li> |
| <ul> |
| <li>enums and annotations as members in types</li> |
| </ul> |
| <ul> |
| <li>signature with type parameters, varargs, parameterized types</li> |
| <li>methods in generic & parameterized types</li> |
| <li>methods that refer to a static import or type parameters from |
| class<br> |
| </li> |
| </ul> |
| <li>Change method signature</li> |
| <ul> |
| <li>signature with type parameters, varargs, parameterized types</li> |
| <li>methods in annotations, enums, generic & parameterized types</li> |
| </ul> |
| <li>Convert Anonymous to nested</li> |
| <ul> |
| <li>annotations, enum, generic & parameterized types</li> |
| </ul> |
| <li>Move member type to new file</li> |
| <ul> |
| <li>annotations, enum, generic & parameterized types</li> |
| <li>code that refers to static imports</li> |
| <li>code that refers to type parameters</li> |
| </ul> |
| <li>Pull Up & PushDown</li> |
| <ul> |
| <li>methods in generic & parameterized types</li> |
| <li>methods that refer to a static import</li> |
| <li>methods with type parameters, varargs, parameterized types</li> |
| <li>between generic, normal and parameterized types</li> |
| <li>enums and annotations as members in types</li> |
| </ul> |
| <li>Extract Interface / Use Supertype where possible</li> |
| <ul> |
| <li>enum and annotations<br> |
| </li> |
| </ul> |
| <ul> |
| <li>generic and parameterized types</li> |
| <li>method with varargs, type parameters, parameterized types<br> |
| </li> |
| </ul> |
| <li>Generalize Type</li> |
| <ul> |
| <li>enums and annotations</li> |
| <li>generic and parameterized types</li> |
| </ul> |
| <li>Extract/Inline Method</li> |
| <ul> |
| <li>Code in generic & parameterized types and enums<br> |
| </li> |
| <li>Code that refer to type parameters (from class and method)</li> |
| <li>vararg usages</li> |
| <li>code with references to static imports</li> |
| <li>code with autoboxing</li> |
| </ul> |
| <li>Extract/Inline local</li> |
| <ul> |
| <li>expression which resolve to parameterized types, annotations, |
| enums and type parameters (or the concrete type for parameterized |
| types)</li> |
| </ul> |
| <li>Extract/Inline constant</li> |
| <ul> |
| <li>in enums, annotations, generic and parameterized types</li> |
| </ul> |
| <li>Introduce parameter</li> |
| <ul> |
| <li>expression which resolve to parameterized types, annotations, |
| enums and type parameters (or the concrete type for parameterized |
| types)<br> |
| </li> |
| <li>signature to be changed contains varargs, type parameters, |
| parameterized types</li> |
| </ul> |
| <li>Introduce Factory</li> |
| <ul> |
| <li>for generic and parameterized types</li> |
| <li>destination type is generic or parameterized</li> |
| </ul> |
| <li>Convert local variable to field</li> |
| <ul> |
| <li>declaring type is parameterized types, annotations, enums |
| and type parameters (or the concrete type for parameterized types)</li> |
| </ul> |
| <li>Self encapsulate field</li> |
| <ul> |
| <li>field type is parameterized types, annotations, enums and |
| type parameter</li> |
| <li>in enums, parameterized types and generic types.</li> |
| </ul> |
| <li>Infer type arguments <br> |
| </li> |
| <ul> |
| <li>test for collection classes</li> |
| <li>test for own generic classes</li> |
| <li>test for classes with n type parameters<br> |
| </li> |
| </ul> |
| </ul> |
| <h4>Source Actions<br> |
| </h4> |
| <div style="margin-left: 40px;">Don't forget to check the Javadoc for |
| the generated methods<br> |
| </div> |
| <ul> |
| <li>Organize import / add import</li> |
| <ul> |
| <li>organize import. Define static import groups in the preference</li> |
| <li>add import on Math.max should add a static import on max add |
| should remove Math in code.</li> |
| </ul> |
| <li>Override/Implement methods</li> |
| <ul> |
| <li>methods with type parameters, varargs, parameterized types</li> |
| <li>from generic and parameterized types</li> |
| <li>from annotations</li> |
| </ul> |
| <li>Generate Getter/Setter</li> |
| <ul> |
| <li>field type is parameterized types, annotations, enums |
| and type parameters</li> |
| <li>in enums, parameterized types and generic types</li> |
| </ul> |
| <li>Generate Delegate Methods</li> |
| <ul> |
| <li>field type is enum, annotation</li> |
| <li>field type is type parameter or parametrized type</li> |
| </ul> |
| <li>Generate Constructor Using fields</li> |
| <ul> |
| <li>field type is enum, annotation</li> |
| <li>field type is type parameter or parametrized type</li> |
| </ul> |
| <li>Add Constructor from Superclass</li> |
| <ul> |
| <li>super class is generic or parameterized type</li> |
| <li>constructor with type parameters, varargs, parameterized types</li> |
| </ul> |
| <li>Sort members</li> |
| <ul> |
| <li>members with type parameters, varargs, ...</li> |
| <li>types with enums, annotations, generic and parameterized types |
| as members<br> |
| </li> |
| <li>sort enum, annotations, generic and parameterized types<br> |
| </li> |
| </ul> |
| </ul> |
| <h4>Search</h4> |
| <ul> |
| <li>test searching for enums, annotations, generic types and methods, |
| parameterized types and methods and type variables</li> |
| <li>test new filters for incompatible and inexact matches</li> |
| </ul> |
| <h4>Quick Fix & Quick assist<br> |
| </h4> |
| <ul> |
| <ul> |
| </ul> |
| <li>Test convert to enhanced for loop (currently only available for |
| arrays)<br> |
| </li> |
| <li>Javadoc tags for type parameters (handled special. creates |
| <T>)</li> |
| <li> 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</li> |
| </ul> |
| <h4>Java Editor<br> |
| </h4> |
| <ul> |
| <li>new syntax colorings</li> |
| <ul> |
| <li>auto(un)boxed expressions</li> |
| <li>new keywords (enum, @interface)<br> |
| </li> |
| <li>annotations</li> |
| <li>annotation element references</li> |
| <li>parameter variables<br> |
| </li> |
| </ul> |
| |
| <li>code assist</li> |
| <ul> |
| <li>enums</li> |
| <li>static imports<br> |
| </li> |
| <li>generics |
| </li> |
| </ul> |
| <ul> |
| <li>type parameter proposals</li> |
| </ul> |
| <ul> |
| <li>enum constant proposals</li> |
| <li>annotations<br> |
| </li> |
| </ul> |
| <ul> |
| <li>argument guessing for parameterized types</li> |
| </ul> |
| <li>verify that the Java Outline displays new J2SE 5.0 constructs correctly</li> |
| <li>verify that occurrence marking handles new J2SE 5.0 elements |
| correctly (check bugzilla first: there are already some bug reports)</li> |
| <li>verify that folding works correctly for J2SE 5.0 elements</li> |
| <li>test new 'foreach' template</li> |
| <li>hovers for new J2SE 5.0 constructs (e.g. hovering over parametrized types)</li> |
| <li>format CUs with J2SE 5.0 constructs and verify that they get correctly formatted according to the current formatter settings<br> |
| </li> |
| |
| </body> |
| </html> |