Class NewTestSuiteWizardPage

java.lang.Object
org.eclipse.jface.dialogs.DialogPage
All Implemented Interfaces:
org.eclipse.jface.dialogs.IDialogPage, org.eclipse.jface.dialogs.IMessageProvider, org.eclipse.jface.wizard.IWizardPage

public class NewTestSuiteWizardPage extends NewTypeWizardPage
The class 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
  • Field Details

  • Constructor Details

    • NewTestSuiteWizardPage

      public NewTestSuiteWizardPage()
      Creates a new NewTestSuiteWizardPage.
  • 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 a GridLayout with at least 3 columns.
      Parameters:
      composite - the parent composite
      nColumns - 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

      protected void handleFieldChanged(String fieldName)
      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 class NewTypeWizardPage
      Parameters:
      fieldName - The name of the field that has changed (field id). For the source folder the field id is CONTAINER
    • setVisible

      public void setVisible(boolean visible)
      Specified by:
      setVisible in interface org.eclipse.jface.dialogs.IDialogPage
      Overrides:
      setVisible in class NewElementWizardPage
    • 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 a GridLayout with at least 3 columns.
      Parameters:
      parent - the parent composite
      nColumns - 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 from createType 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 class NewTypeWizardPage
      Parameters:
      type - the new type created via createType
      imports - an import manager which can be used to add new imports
      monitor - a progress monitor to report progress. Must not be null
      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 class NewTypeWizardPage
      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 class NewTypeWizardPage
      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 a GridLayout with at least 3 columns.
      Parameters:
      composite - the parent composite
      nColumns - number of columns to span
      Since:
      3.7
    • setJUnit4

      @Deprecated public void setJUnit4(boolean isJUnit4, boolean isEnabled)
      Deprecated.
      Use setJUnit4or5 instead
      Specifies if the test should be created as JUnit 4 test.
      Parameters:
      isJUnit4 - If set, a JUnit 4 test will be created
      isEnabled - if true 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 created
      isJUnit5 - If set, a JUnit 5 test will be created
      isEnabled - if true the modifier fields are editable; otherwise they are read-only
      Since:
      3.15
    • isJUnit5

      public boolean isJUnit5()
      Returns true 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()
      Returns true 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 class NewTypeWizardPage
      Parameters:
      cu - The new created compilation unit
      typeContent - 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