diff options
Diffstat (limited to 'test/eu/equalparts/cardbase/CardbaseTest.java')
| -rw-r--r-- | test/eu/equalparts/cardbase/CardbaseTest.java | 62 | 
1 files changed, 38 insertions, 24 deletions
| diff --git a/test/eu/equalparts/cardbase/CardbaseTest.java b/test/eu/equalparts/cardbase/CardbaseTest.java index 48a0bb4..82b05ba 100644 --- a/test/eu/equalparts/cardbase/CardbaseTest.java +++ b/test/eu/equalparts/cardbase/CardbaseTest.java @@ -3,6 +3,7 @@ package eu.equalparts.cardbase;  import static org.junit.Assert.*;  import java.io.File; +import java.io.FileWriter;  import java.io.IOException;  import java.lang.reflect.Field;  import java.util.Map; @@ -13,6 +14,7 @@ import org.junit.BeforeClass;  import org.junit.Rule;  import org.junit.Test;  import org.junit.rules.ExpectedException; +import org.junit.rules.TemporaryFolder;  import com.fasterxml.jackson.core.JsonParseException;  import com.fasterxml.jackson.core.type.TypeReference; @@ -21,8 +23,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;  import eu.equalparts.cardbase.Cardbase;  import eu.equalparts.cardbase.cards.Card; -import eu.equalparts.cardbase.testutils.TestFile; -import eu.equalparts.cardbase.testutils.TestUtils;  /**   * TODO deck functionality needs to be built into these. @@ -38,6 +38,9 @@ public class CardbaseTest {  	@Rule  	public final ExpectedException exception = ExpectedException.none(); +	@Rule +	public final TemporaryFolder tempFolder = new TemporaryFolder(); +	  	@BeforeClass  	public static void setUpBeforeClass() throws Exception {  		ObjectMapper mapper = new ObjectMapper(); @@ -63,7 +66,7 @@ public class CardbaseTest {  	@Test  	public void fileCardbaseIsInitialised() throws Exception { -		uut = new Cardbase(new File(getClass().getResource("/testbase.cb").toURI())); +		uut = new Cardbase(new File(getClass().getResource("/testbase.cb").getFile()));  		assertEquals("Card collection contains the wrong number of card entries.", 6, uut.getCards().size()); @@ -102,20 +105,33 @@ public class CardbaseTest {  	@Test  	public void loadFileDoesNotExist() throws Exception { +		File notAFile = tempFolder.newFile(); +		tempFolder.delete(); +		  		exception.expect(IOException.class); -		uut = new Cardbase(new File("not a file")); +		uut = new Cardbase(notAFile);  	}  	@Test  	public void loadFileHasWrongStructure() throws Exception { +		File wrongStructure = tempFolder.newFile("wrongStructure.json"); +		try (FileWriter writer = new FileWriter(wrongStructure)) { +			writer.write("{\"field1\":\"content\",\"field2\":50,\"list\":[10,20,30]}"); +		} +		  		exception.expect(JsonMappingException.class); -		uut = new Cardbase(new File(getClass().getResource("/testcards.json").toURI())); +		uut = new Cardbase(wrongStructure);  	}  	@Test  	public void loadFileIsNotJson() throws Exception { +		File notJson = tempFolder.newFile("wrongStructure.json"); +		try (FileWriter writer = new FileWriter(notJson)) { +			writer.write("This is a file which does not contain valid JSON."); +		} +		  		exception.expect(JsonParseException.class); -		uut = new Cardbase(new File(getClass().getResource("/notjson.txt").toURI())); +		uut = new Cardbase(notJson);  	}  	/*********************************************************************************** @@ -123,20 +139,19 @@ public class CardbaseTest {  	 ***********************************************************************************/  	@Test  	public void cardbaseIsSaved() throws Exception { -		try (TestFile testFile = TestUtils.createValidTestFile("savetest.cb")) { -			uut.writeCollection(testFile); -			uut = new Cardbase(testFile); -			assertEquals("Cardbase should contain no cards.", 0, uut.getCards().size()); +		File testFile = tempFolder.newFile("saveTest.cb"); +		uut.writeCollection(testFile); +		uut = new Cardbase(testFile); +		assertEquals("Cardbase should contain no cards.", 0, uut.getCards().size()); -			uut.addCard(testCard); +		uut.addCard(testCard); -			uut.writeCollection(testFile); -			uut = new Cardbase(testFile); -			assertEquals("Cardbase should contain one card.", 1, uut.getCards().size()); -			Card card = uut.getCard("M15", "281"); -			assertNotNull("Cardbase should contain a Shivan Dragon.", card); -			assertEquals("Cardbase should contain only one Shivan Dragon", new Integer(1), card.count); -		} +		uut.writeCollection(testFile); +		uut = new Cardbase(testFile); +		assertEquals("Cardbase should contain one card.", 1, uut.getCards().size()); +		Card card = uut.getCard("M15", "281"); +		assertNotNull("Cardbase should contain a Shivan Dragon.", card); +		assertEquals("Cardbase should contain only one Shivan Dragon.", new Integer(1), card.count);  	}  	/* @@ -144,11 +159,10 @@ public class CardbaseTest {  	 */  	@Test  	public void saveFileCannotBeWrittenTo() throws Exception { -		try (TestFile testFile = TestUtils.createValidTestFile("savetest.cb")) { -			testFile.setWritable(false); -			exception.expect(IOException.class); -			uut.writeCollection(testFile); -		} +		File testFile = tempFolder.newFile("saveTest.cb"); +		testFile.setWritable(false); +		exception.expect(IOException.class); +		uut.writeCollection(testFile);  	}  	@Test @@ -267,7 +281,7 @@ public class CardbaseTest {  	@Test  	public void correctCardCollectionIsReturnedByGetter() throws Exception { -		uut = new Cardbase(new File(getClass().getResource("/testbase.cb").toURI())); +		uut = new Cardbase(new File(getClass().getResource("/testbase.cb").getFile()));  		Map<Integer, Card> cards = new ObjectMapper().readValue(getClass().getResourceAsStream("/testbase.cb"), new TypeReference<Map<Integer, Card>>() {});  		assertTrue("Not all cards were returned by the getter.", uut.getCards().containsAll(cards.values())); | 
