<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="Author" content="OTI Employee">
   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
   <title>New Project Wizard</title>
</head>
<body>

<center>
<h1>
New Project Wizard</h1></center>

<h2>
Purpose</h2>
The plan is to create a single empty project. The end result of this wizard
should be an empty project.
<h2>
Setup</h2>

<ul>
<li>
Start the Eclipse workbench</li>

<li>
Extract the junit.jar file into a directory on the file system</li>

<li>
Select File->New->Project from the resource perspective</li>

<li>
Select Simple and then Project and Press Next</li>
</ul>

<h2>
Create project at default location</h2>

<ol>
<li>
In Project Name field, type in Project Test</li>

<li>
Press Next and select another project as a reference project</li>

<li>
Press the Finish button</li>

<li>
Verify a new Project Test project is created (in navigator view and in
the file system)</li>

<li>
Verify, in the project's properties dialog, that the Project References
page includes the project referenced.</li>
</ol>

<h2>
Create project at specific location</h2>

<ol>
<li>
In Project Name field, type in Project Test2</li>

<li>
Uncheck the Use Default Location option</li>

<li>
In the Location field, type in the directory containing the junit source
code.</li>

<li>
Press the Finish button</li>

<li>
Verify a new Project Test2 project is created (in navigator view)</li>

<li>
Verify the contents of the project match the files/folders for junit on
the file system</li>
</ol>

<h2>
Cleanup</h2>

<ul>
<li>
Delete projects Project Test and Project Test2</li>
</ul>

</body>
</html>
