package info.limpet.data;

import java.io.File;
import java.util.List;

import info.limpet.ICollection;
import info.limpet.IStore.IStoreItem;
import info.limpet.data.csv.CsvParser;
import info.limpet.data.store.InMemoryStore.StoreGroup;
import junit.framework.TestCase;

public class TestCsvParser extends TestCase
{

	public void testIntervals() throws Exception
	{
		File file = getDataFile("intervals.csv");
		assertTrue(file.isFile());
		List<IStoreItem> items = new CsvParser().parse(file.getAbsolutePath());
		assertTrue(items.size() == 1);
		ICollection firstColl = (ICollection) items.get(0);
		assertEquals("correct num rows", 69, firstColl.size());
	}

	public void testFrequencs() throws Exception
	{
		File file = getDataFile("frequences.csv");
		assertTrue(file.isFile());
		List<IStoreItem> items = new CsvParser().parse(file.getAbsolutePath());
		assertTrue(items.size() == 1);
		ICollection firstColl = (ICollection) items.get(0);
		assertEquals("correct num rows", 11, firstColl.size());
	}

	public void testMultiColumn() throws Exception
	{
		File file = getDataFile("track_one.csv");
		assertTrue(file.isFile());
		CsvParser parser = new CsvParser();
		List<IStoreItem> items = parser.parse(file.getAbsolutePath());
		assertEquals("correct group", 1, items.size());
		StoreGroup group = (StoreGroup) items.get(0);
		assertEquals("correct num collections", 6, group.size());
		ICollection firstColl = (ICollection) group.get(0);
		assertEquals("correct num rows", 69, firstColl.size());
	}

	private File getDataFile(String name)
	{
		File file = new File(getFileName(name));
		return file;
	}

	private String getFileName(String name)
	{
		StringBuilder builder = new StringBuilder();
		builder.append("..");
		builder.append(File.separator);
		builder.append("info.limpet.sample_data");
		builder.append(File.separator);
		builder.append("data");
		builder.append(File.separator);
		builder.append(name);
		return builder.toString();
	}

}

@@ -532,32 +532,140 @@
 s.size() == 1);%0A
+%09%09StoreGroup group = (StoreGroup) items.get(0);%0A%09%09assertEquals(%22correct num collections%22, 1, group.size());%0A
 %09%09ICollection fi
@@ -680,37 +680,37 @@
 = (ICollection) 
-items
+group
 .get(0);%0A%09%09asser
@@ -994,16 +994,124 @@
  == 1);%0A
+%09%09StoreGroup group = (StoreGroup) items.get(0);%0A%09%09assertEquals(%22correct num collections%22, 1, group.size());%0A
 %09%09IColle
@@ -1142,21 +1142,21 @@
 ection) 
-items
+group
 .get(0);

fix fixed tests