aboutsummaryrefslogtreecommitdiffstats
path: root/test/eu/equalparts/cardbase/CardbaseTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/eu/equalparts/cardbase/CardbaseTest.java')
-rw-r--r--test/eu/equalparts/cardbase/CardbaseTest.java62
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()));