// Path: src/main/java/com/pureperfect/ferret/vfs/PathElement.java
// public interface PathElement
// {
// 	/**
// 	 * Get the parent container for this path.
// 	 * 
// 	 * @return the parent container for this path.
// 	 */
// 	public Container getParent();
// 
// 	/**
// 	 * Get the name of this path, relative to its parent.
// 	 * 
// 	 * @return the name of this path
// 	 */
// 	public String getName();
// 
// 	/**
// 	 * Get the full path, which should be unique on the file system.
// 	 * 
// 	 * @return the full path, which should be unique on the file system.
// 	 */
// 	public String getFullPath();
// 
// 	/**
// 	 * Open a stream to this resource.
// 	 * 
// 	 * @return the input stream to this resource
// 	 * @throws IOException
// 	 *             if an error occurs opening the stream
// 	 * @throws UnsupportedOperationException
// 	 *             if the resource cannot be opened.
// 	 */
// 	public InputStream openStream() throws IOException,
// 			UnsupportedOperationException;
// }


import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import junit.framework.Assert;
import junit.framework.TestCase;
import com.pureperfect.ferret.vfs.PathElement;
		for (final String expect : expectedSet)
		{
			final URL url = new File(expect).toURI().toURL();

			expectedURLS.add(url);
		}

		Assert.assertEquals(expectedSet.size(), ferret.getScanPath().size());
	}

	public void testAddPaths() throws Exception
	{
		// Testing bad path only. Happy path is tested elsewhere
		final Scanner ferret = new Scanner();

		ferret.add("IDONTEXIST");

		Assert.assertEquals(0, ferret.getScanPath().size());
	}

	public void testJarLoadFromNetwork() throws Exception
	{
		final String url = "https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar";

		final Scanner ferret = new Scanner();

		ferret.add(new URL(url));

		Assert.assertEquals(1, ferret.getScanPath().size());

// Path: src/main/java/com/pureperfect/ferret/vfs/PathElement.java
// public interface PathElement
// {
// 	/**
// 	 * Get the parent container for this path.
// 	 * 
// 	 * @return the parent container for this path.
// 	 */
// 	public Container getParent();
// 
// 	/**
// 	 * Get the name of this path, relative to its parent.
// 	 * 
// 	 * @return the name of this path
// 	 */
// 	public String getName();
// 
// 	/**
// 	 * Get the full path, which should be unique on the file system.
// 	 * 
// 	 * @return the full path, which should be unique on the file system.
// 	 */
// 	public String getFullPath();
// 
// 	/**
// 	 * Open a stream to this resource.
// 	 * 
// 	 * @return the input stream to this resource
// 	 * @throws IOException
// 	 *             if an error occurs opening the stream
// 	 * @throws UnsupportedOperationException
// 	 *             if the resource cannot be opened.
// 	 */
// 	public InputStream openStream() throws IOException,
// 			UnsupportedOperationException;
// }


// Path: src/test/java/com/pureperfect/ferret/ClasspathScannerTest.java
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import junit.framework.Assert;
import junit.framework.TestCase;
import com.pureperfect.ferret.vfs.PathElement;

		for (final String expect : expectedSet)
		{
			final URL url = new File(expect).toURI().toURL();

			expectedURLS.add(url);
		}

		Assert.assertEquals(expectedSet.size(), ferret.getScanPath().size());
	}

	public void testAddPaths() throws Exception
	{
		// Testing bad path only. Happy path is tested elsewhere
		final Scanner ferret = new Scanner();

		ferret.add("IDONTEXIST");

		Assert.assertEquals(0, ferret.getScanPath().size());
	}

	public void testJarLoadFromNetwork() throws Exception
	{
		final String url = "https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar";

		final Scanner ferret = new Scanner();

		ferret.add(new URL(url));

		Assert.assertEquals(1, ferret.getScanPath().size());

		final List<PathElement> filesInJar = new LinkedList<PathElement>();