🏡 index : ~doyle/blockbuster.git

author Jordan Doyle <jordan.doyle@outlook.com> 2015-04-13 1:02:18.0 +00:00:00
committer Jordan Doyle <jordan.doyle@outlook.com> 2015-04-13 1:02:18.0 +00:00:00
commit
0577d46529cb09b045031bfbfd5e5da88478fca0 [patch]
tree
b332aaca442cd8fc70aeadedc71499a3db53f0da
parent
4669c29af9533344224ea25a9839606c1a8137de
download
0577d46529cb09b045031bfbfd5e5da88478fca0.tar.gz

Update JUnit test, make sure parsing is working



Diff

 src/test/java/wf/doyle/blockbuster/AppTest.java        | 67 ++++++++++++++++---
 target/test-classes/wf/doyle/blockbuster/AppTest.class | Bin 1440 -> 3355 bytes
 2 files changed, 59 insertions(+), 8 deletions(-)

diff --git a/src/test/java/wf/doyle/blockbuster/AppTest.java b/src/test/java/wf/doyle/blockbuster/AppTest.java
index 130ffed..19a0fda 100644
--- a/src/test/java/wf/doyle/blockbuster/AppTest.java
+++ b/src/test/java/wf/doyle/blockbuster/AppTest.java
@@ -1,12 +1,14 @@
package wf.doyle.blockbuster;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

import org.junit.Assert;
import org.junit.Test;

import wf.doyle.blockbuster.file.FileReader;
import wf.doyle.blockbuster.item.LibraryItem;
import wf.doyle.blockbuster.item.items.audiovisual.CD;
import wf.doyle.blockbuster.item.items.audiovisual.DVD;

/**
@@ -14,22 +16,71 @@ import wf.doyle.blockbuster.item.items.audiovisual.DVD;
 */
public class AppTest {
	/**
	 * 
	 * Test reflection methods
	 */
	@Test
	public void assertReflection() {
	public void assertReflection()
	{
		LibraryItem item = new DVD();
		

		Field f = FileReader.getField("title", item.getClass());
		

		Assert.assertNotNull(f);
		

		FileReader.setField(f, item, "testCase");
		
		try {

		try
		{
			Assert.assertEquals(f.get(item), "testCase");
		} catch(Exception e) {
		}
		catch(Exception e)
		{
			Assert.fail("Getting value of String using reflection failed");
		}

		FileReader.setField(FileReader.getField("itemCode", item.getClass()), item, "abc123");
		Assert.assertEquals(item.getItemCode(), "abc123");
	}

	/**
	 * Test if the parser is correctly parsing things
	 */
	@Test
	public void assertParsing()
	{
		FileReader f = new FileReader(null);

		try
		{
			Method m = FileReader.class.getDeclaredMethod("parseLine", String.class);
			m.setAccessible(true);

			m.invoke(f, "[cD data]");
			m.invoke(f, "// test line");
			m.invoke(f, "// data is artist, noOfTracks, playingTime, title, itemCode, cost, timesBorrowed, onLoan");
			m.invoke(f, "Robert Plant and Alison Krauss,13,72, Raising Sand, LM003750,898,89,tRUE");

			CD cd = (CD) App.items.get(0);

			Assert.assertEquals(cd.getArtist(), "Robert Plant and Alison Krauss");
			Assert.assertEquals(cd.getNumberOfTracks(), 13);
			Assert.assertEquals(cd.getName(), "Raising Sand");
			Assert.assertTrue(cd.getLoan());

			// switch things about to test the "data is" parser
			m.invoke(f, "// data is noOfTracks, artist, playingTime, itemCode, title, cost, onLoan, timesBorrowed");
			m.invoke(f, "18,Robert Plant and Alison Krauss, 72, LM003750, Raising Sand,898,fAlSe,89");

			CD cd2 = (CD) App.items.get(1);

			Assert.assertEquals(cd2.getNumberOfTracks(), 18);
			Assert.assertEquals(cd2.getName(), "Raising Sand");
			Assert.assertEquals(cd2.getItemCode(), "LM003750");
			Assert.assertFalse(cd2.getLoan());
		}
		catch(Exception e)
		{
			Assert.fail("Couldn't find parseLine method");
		}
	}
}
diff --git a/target/test-classes/wf/doyle/blockbuster/AppTest.class b/target/test-classes/wf/doyle/blockbuster/AppTest.class
index 226d3f3..14ede6b 100644
Binary files a/target/test-classes/wf/doyle/blockbuster/AppTest.class and b/target/test-classes/wf/doyle/blockbuster/AppTest.class differ