@Test
	public void testCreateNonSharedProject2() {
		try {
			// test entering a directory that does not exist

			DockingActionIf action = getAction("New Project");
			performAction(action, false);
			waitForSwing();

			WizardDialog wm = waitForDialogComponent(WizardDialog.class);
			assertNotNull(wm);

			ProjectTypePanel typePanel = findComponent(wm, ProjectTypePanel.class);
			assertNotNull(typePanel);
			JRadioButton rb =
				(JRadioButton) findAbstractButtonByText(typePanel, "Non-Shared Project");
			assertNotNull(rb);
			assertTrue(rb.isSelected());

			JButton nextButton = findButtonByText(wm, "Next >>");
			assertNotNull(nextButton);
			assertTrue(nextButton.isEnabled());
			JButton finishButton = findButtonByText(wm, "Finish");
			assertNotNull(finishButton);
			assertTrue(!finishButton.isEnabled());

			pressButton(nextButton, true);
			assertTrue(!nextButton.isEnabled());

			SelectProjectPanel projPanel = findComponent(wm, SelectProjectPanel.class);
			assertNotNull(projPanel);

			final JTextField dirField =
				(JTextField) findComponentByName(projPanel, "Project Directory");
			assertNotNull(dirField);

			final JTextField projField =
				(JTextField) findComponentByName(projPanel, "Project Name");
			assertNotNull(projField);

			SwingUtilities.invokeAndWait(() -> {
				String dirText = dirField.getText();
				dirText = dirText + File.separator + "new";
				dirField.setText(dirText);
				projField.setText("MyProject");
			});
			waitForSwing();

			assertTrue(!finishButton.isEnabled());
			assertEquals("Project directory does not exist.", wm.getStatusMessage());
			pressButtonByText(wm, "Cancel");
		}
		catch (Exception e) {
			e.printStackTrace();
			org.junit.Assert.fail(e.toString());
		}
	}
Test for the New Project Wizard.
Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/framework/main/NewProjectWizardTest.java