Class NewTestSuiteWizardPage
- All Implemented Interfaces:
org.eclipse.jface.dialogs.IDialogPage
,org.eclipse.jface.dialogs.IMessageProvider
,org.eclipse.jface.wizard.IWizardPage
NewTestSuiteWizardPage
contains controls and validation routines
for the single page in the 'New JUnit TestSuite Wizard'.
Clients can use the page as-is and add it to their own wizard, or extend it to modify validation or add and remove controls.
- Since:
- 3.1
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jdt.ui.wizards.NewTypeWizardPage
NewTypeWizardPage.ImportsManager
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Field ID of the class in suite field.static final String
static final String
The string used to mark the end of the generated codestatic final String
Field ID of the junit4 toggle field.static final String
static final String
static final String
The string used to mark the beginning of the generated codeFields inherited from class org.eclipse.jdt.ui.wizards.NewTypeWizardPage
ANNOTATION_TYPE, CLASS_TYPE, ENCLOSING, ENCLOSINGSELECTION, ENUM_TYPE, F_ABSTRACT, F_FINAL, F_PRIVATE, F_PROTECTED, F_PUBLIC, F_STATIC, fAddCommentButton, fEnclosingTypeStatus, fModifierStatus, fPackageStatus, fSealedModifierStatus, fSealedSuperClassStatus, fSealedSuperInterfacesStatus, fSuperClassStatus, fSuperInterfacesStatus, fTypeNameStatus, INTERFACE_TYPE, INTERFACES, METHODS, MODIFIERS, PACKAGE, RECORD_TYPE, SEALEDMODIFIERS, SUPER, TYPENAME
Fields inherited from class org.eclipse.jdt.ui.wizards.NewContainerWizardPage
CONTAINER, fContainerStatus
Fields inherited from interface org.eclipse.jface.dialogs.IMessageProvider
ERROR, INFORMATION, NONE, WARNING
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
constructCUContent
(ICompilationUnit cu, String typeContent, String lineDelimiter) Uses the New Java file template from the code template page to generate a compilation unit with the given type content.protected void
createClassesInSuiteControl
(org.eclipse.swt.widgets.Composite parent, int nColumns) Creates the controls for the list of classes in the suite.void
createControl
(org.eclipse.swt.widgets.Composite parent) protected void
createJUnit4Controls
(org.eclipse.swt.widgets.Composite composite, int nColumns) Creates the controls for the JUnit 4 toggle control.protected void
createMethodStubSelectionControls
(org.eclipse.swt.widgets.Composite composite, int nColumns) Creates the controls for the method stub selection buttons.void
createType
(org.eclipse.core.runtime.IProgressMonitor monitor) Creates the new type using the entered field values.protected void
createTypeMembers
(IType type, NewTypeWizardPage.ImportsManager imports, org.eclipse.core.runtime.IProgressMonitor monitor) Hook method that gets called fromcreateType
to support adding of unanticipated methods, fields, and inner types to the created type.protected void
handleFieldChanged
(String fieldName) Hook method that gets called when a field on this page has changed.boolean
Returns true iff an existing suite() method has been replaced.void
init
(org.eclipse.jface.viewers.IStructuredSelection selection) Should be called from the wizard with the initial selection.boolean
isJUnit4()
Returnstrue
if the test suite should be created as Junit 4 suiteboolean
isJUnit5()
Returnstrue
if the test suite should be created as Junit 5 suitevoid
setJUnit4
(boolean isJUnit4, boolean isEnabled) Deprecated.Use setJUnit4or5 insteadvoid
setJUnit4or5
(boolean isJUnit4, boolean isJUnit5, boolean isEnabled) Specifies if the test should be created as JUnit 5 test.void
setVisible
(boolean visible) protected org.eclipse.core.runtime.IStatus
Hook method that gets called when the type name has changed.protected void
Updates the classes in the suite table.Methods inherited from class org.eclipse.jdt.ui.wizards.NewTypeWizardPage
addSuperInterface, addSuperInterface, chooseEnclosingType, choosePackage, chooseSuperClass, chooseSuperInterfaces, containerChanged, createCommentControls, createCommentWithLinkControls, createEnclosingTypeControls, createInheritedMethods, createMainMethod, createModifierControls, createPackageControls, createSeparator, createSuperClassControls, createSuperInterfacesControls, createTypeNameControls, enableCommentControl, enclosingTypeChanged, getCompilationUnitName, getCreatedType, getEnclosingType, getEnclosingTypeLabel, getEnclosingTypeText, getFileComment, getFileComment, getModifiedResource, getModifiers, getModifiersLabel, getPackageFragment, getPackageLabel, getPackageText, getRunnable, getSealedModifierStatus, getSealedSuperClassStatus, getSealedSuperInterfaceStatus, getSuperClass, getSuperClassLabel, getSuperClassStatus, getSuperInterfaces, getSuperInterfacesLabel, getSuperInterfaceStatus, getTemplate, getTemplate, getTypeComment, getTypeComment, getTypeName, getTypeNameLabel, getUniqueJavaTypeName, initTypePage, isAddComments, isEnclosingTypeSelected, isSuperClassFinal, isSuperTypeSealed, modifiersChanged, packageChanged, setAddComments, setEnclosingType, setEnclosingTypeSelection, setFocus, setModifiers, setPackageFragment, setSuperClass, setSuperClass, setSuperInterfaces, setSuperInterfacesList, setTypeName, superClassChanged, superInterfacesChanged, validateSealedSuperInterfacesStatus
Methods inherited from class org.eclipse.jdt.ui.wizards.NewContainerWizardPage
chooseContainer, createContainerControls, getContainerLabel, getCurrentTextSelection, getInitialJavaElement, getJavaProject, getMaxFieldWidth, getPackageFragmentRoot, getPackageFragmentRootText, getWorkspaceRoot, initContainerPage, initContainerPage, setFocusOnContainer, setPackageFragmentRoot
Methods inherited from class org.eclipse.jdt.ui.wizards.NewElementWizardPage
updateStatus, updateStatus
Methods inherited from class org.eclipse.jface.wizard.WizardPage
canFlipToNextPage, getContainer, getDialogSettings, getImage, getName, getNextPage, getPreviousPage, getShell, getWizard, isCurrentPage, isPageComplete, setDescription, setErrorMessage, setImageDescriptor, setMessage, setPageComplete, setPreviousPage, setTitle, setWizard, toString
Methods inherited from class org.eclipse.jface.dialogs.DialogPage
convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, dispose, getControl, getDescription, getDialogFontName, getErrorMessage, getFont, getMessage, getMessageType, getTitle, getToolTipText, initializeDialogUnits, isControlCreated, performHelp, setButtonLayoutData, setControl, setMessage
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jface.dialogs.IDialogPage
dispose, getControl, getDescription, getErrorMessage, getMessage, getTitle, performHelp
Methods inherited from interface org.eclipse.jface.wizard.IWizardPage
getMinimumPageSize
-
Field Details
-
NON_COMMENT_END_MARKER
- See Also:
-
NON_COMMENT_START_MARKER
- See Also:
-
COMMENT_START
- See Also:
-
START_MARKER
The string used to mark the beginning of the generated code- See Also:
-
END_MARKER
The string used to mark the end of the generated code- See Also:
-
CLASSES_IN_SUITE
Field ID of the class in suite field.- See Also:
-
JUNIT4TOGGLE
Field ID of the junit4 toggle field.- Since:
- 3.7
- See Also:
-
-
Constructor Details
-
NewTestSuiteWizardPage
public NewTestSuiteWizardPage()Creates a newNewTestSuiteWizardPage
.
-
-
Method Details
-
createControl
public void createControl(org.eclipse.swt.widgets.Composite parent) -
createMethodStubSelectionControls
protected void createMethodStubSelectionControls(org.eclipse.swt.widgets.Composite composite, int nColumns) Creates the controls for the method stub selection buttons. Expects aGridLayout
with at least 3 columns.- Parameters:
composite
- the parent compositenColumns
- number of columns to span
-
init
public void init(org.eclipse.jface.viewers.IStructuredSelection selection) Should be called from the wizard with the initial selection.- Parameters:
selection
- the initial selection
-
handleFieldChanged
Description copied from class:NewContainerWizardPage
Hook method that gets called when a field on this page has changed. For this page the method gets called when the source folder field changes.Every sub type is responsible to call this method when a field on its page has changed. Subtypes override (extend) the method to add verification when a own field has a dependency to an other field. For example the class name input must be verified again when the package field changes (check for duplicated class names).
- Overrides:
handleFieldChanged
in classNewTypeWizardPage
- Parameters:
fieldName
- The name of the field that has changed (field id). For the source folder the field id isCONTAINER
-
setVisible
public void setVisible(boolean visible) - Specified by:
setVisible
in interfaceorg.eclipse.jface.dialogs.IDialogPage
- Overrides:
setVisible
in classNewElementWizardPage
-
updateClassesInSuiteTable
protected void updateClassesInSuiteTable()Updates the classes in the suite table. -
createClassesInSuiteControl
protected void createClassesInSuiteControl(org.eclipse.swt.widgets.Composite parent, int nColumns) Creates the controls for the list of classes in the suite. Expects aGridLayout
with at least 3 columns.- Parameters:
parent
- the parent compositenColumns
- number of columns to span
-
createTypeMembers
protected void createTypeMembers(IType type, NewTypeWizardPage.ImportsManager imports, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException Description copied from class:NewTypeWizardPage
Hook method that gets called fromcreateType
to support adding of unanticipated methods, fields, and inner types to the created type.Implementers can use any methods defined on
IType
to manipulate the new type.The source code of the new type will be formatted using the platform's formatter. Needed imports are added by the wizard at the end of the type creation process using the given import manager.
- Overrides:
createTypeMembers
in classNewTypeWizardPage
- Parameters:
type
- the new type created viacreateType
imports
- an import manager which can be used to add new importsmonitor
- a progress monitor to report progress. Must not benull
- Throws:
org.eclipse.core.runtime.CoreException
- thrown when creation of the type members failed- See Also:
-
createType
public void createType(org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException, InterruptedException Description copied from class:NewTypeWizardPage
Creates the new type using the entered field values.- Overrides:
createType
in classNewTypeWizardPage
- Parameters:
monitor
- a progress monitor to report progress.- Throws:
org.eclipse.core.runtime.CoreException
- Thrown when the creation failed.InterruptedException
- Thrown when the operation was canceled.
-
hasUpdatedExistingClass
public boolean hasUpdatedExistingClass()Returns true iff an existing suite() method has been replaced.- Returns:
true
is returned if an existing test suite has been replaced
-
typeNameChanged
protected org.eclipse.core.runtime.IStatus typeNameChanged()Description copied from class:NewTypeWizardPage
Hook method that gets called when the type name has changed. The method validates the type name and returns the status of the validation.Subclasses may extend this method to perform their own validation.
- Overrides:
typeNameChanged
in classNewTypeWizardPage
- Returns:
- the status of the validation
-
createJUnit4Controls
protected void createJUnit4Controls(org.eclipse.swt.widgets.Composite composite, int nColumns) Creates the controls for the JUnit 4 toggle control. Expects aGridLayout
with at least 3 columns.- Parameters:
composite
- the parent compositenColumns
- number of columns to span- Since:
- 3.7
-
setJUnit4
Deprecated.Use setJUnit4or5 insteadSpecifies if the test should be created as JUnit 4 test.- Parameters:
isJUnit4
- If set, a JUnit 4 test will be createdisEnabled
- iftrue
the modifier fields are editable; otherwise they are read-only- Since:
- 3.7
-
setJUnit4or5
public void setJUnit4or5(boolean isJUnit4, boolean isJUnit5, boolean isEnabled) Specifies if the test should be created as JUnit 5 test.- Parameters:
isJUnit4
- If set, a JUnit 4 test will be createdisJUnit5
- If set, a JUnit 5 test will be createdisEnabled
- iftrue
the modifier fields are editable; otherwise they are read-only- Since:
- 3.15
-
isJUnit5
public boolean isJUnit5()Returnstrue
if the test suite should be created as Junit 5 suite- Returns:
- returns
true
if the test suite should be created as Junit 5 test - Since:
- 3.15
-
isJUnit4
public boolean isJUnit4()Returnstrue
if the test suite should be created as Junit 4 suite- Returns:
- returns
true
if the test suite should be created as Junit 4 test - Since:
- 3.7
-
constructCUContent
protected String constructCUContent(ICompilationUnit cu, String typeContent, String lineDelimiter) throws org.eclipse.core.runtime.CoreException Description copied from class:NewTypeWizardPage
Uses the New Java file template from the code template page to generate a compilation unit with the given type content.- Overrides:
constructCUContent
in classNewTypeWizardPage
- Parameters:
cu
- The new created compilation unittypeContent
- The content of the type, including signature and type body.lineDelimiter
- The line delimiter to be used.- Returns:
- String Returns the result of evaluating the new file template with the given type content.
- Throws:
org.eclipse.core.runtime.CoreException
- when fetching the file comment fails or fetching the content for the new compilation unit fails
-