<!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>ZIP Import</title>
</head>
<body>

<center>
<h1>
ZIP Import</h1></center>

<h2>
Purpose</h2>
The plan is to import a large number files/folders at a time, using the
ZIP file wizard. The results should be indentical in layout and content
as the original source used.
<h2>
Setup</h2>

<ul>
<li>
Download the JUnit zip file source code from www.junit.org.</li>

<li>
Start the Eclipse workbench</li>

<li>
Create a new temporary "simple" project called "JUnit Test"</li>

<li>
Select File -> Import, select Zip File and press Next.</li>
</ul>

<h2>
Import into a new project</h2>

<ol>
<li>
Click the Browse button and select the ZIP file.</li>

<li>
Expand the folders in the tree view and until "junit" folder is visible
and check mark the box next to it. Deselect the "doc" and "javadoc" folders.</li>

<li>
Type in "JUnit Test" in the Folder field</li>

<li>
Press Finish</li>

<li>
Verify that the contents of the project match the same file and folder
structure as the source in the file system.</li>

<li>
Verify that the content of the files.</li>
</ol>

<h2>
Import into an existing project</h2>

<ol>
<li>
Click on the Zip File drop down box and select the zip file</li>

<li>
Expand the folders in the tree view and until "junit" folder is visible
and check mark the box next to it.&nbsp; Deselect the "doc" and "javadoc"
folders.</li>

<li>
Type in "JUnit Test" in the Folder field</li>

<li>
Check the option "Overwrite existing resources without warning"</li>

<li>
Press Finish</li>

<li>
Verify you were not prompted to overwrite files</li>

<li>
Verify that the contents of the project match the same file and folder
structure as the source in the file system.</li>

<li>
Verify that the content of the files.</li>
</ol>

<h2>
Cleanup</h2>

<ul>
<li>
Delete the temporary project "JUnit Test"</li>
</ul>

</body>
</html>
