mirror of
https://github.com/bbasaran/kessel-run.git
synced 2026-10-15 10:59:19 -04:00
Fix failing unit tests. Start Converter Class
This commit is contained in:
@@ -3,15 +3,36 @@ package org.misoenergy.hackday.kessel_run;
|
|||||||
import org.misoenergy.hackday.kessel_run.class_definitions.CharacterClass;
|
import org.misoenergy.hackday.kessel_run.class_definitions.CharacterClass;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class PCGenConverter {
|
public class PCGenConverter {
|
||||||
|
|
||||||
public static File convertToPCGen(List<CharacterClass> classes) {
|
public File convertToPCGen(List<CharacterClass> classes) {
|
||||||
File pcGenOutput = new File("sw5eClasses.lst");
|
File pcGenOutput = new File("sw5eClasses.lst");
|
||||||
|
FileWriter writer = setupFileWriter(pcGenOutput);
|
||||||
|
|
||||||
PCGenExporter exporter = new PCGenExporter();
|
PCGenExporter exporter = new PCGenExporter();
|
||||||
exporter.export(pcGenOutput);
|
exporter.export(pcGenOutput);
|
||||||
return pcGenOutput;
|
return pcGenOutput;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected FileWriter setupFileWriter(File file) {
|
||||||
|
FileWriter writer = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
writer = new FileWriter(file);
|
||||||
|
} catch (IOException e) {
|
||||||
|
handleFailedFileWriter(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return writer;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleFailedFileWriter(Exception e) {
|
||||||
|
System.out.println("Unable to Write to File");
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,8 +4,9 @@ import org.junit.jupiter.api.Test;
|
|||||||
import org.misoenergy.hackday.kessel_run.class_definitions.CharacterClass;
|
import org.misoenergy.hackday.kessel_run.class_definitions.CharacterClass;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.*;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static junit.framework.TestCase.assertTrue;
|
import static junit.framework.TestCase.assertTrue;
|
||||||
@@ -17,9 +18,41 @@ public class PCGenConverterTests {
|
|||||||
void convertToPCGen() {
|
void convertToPCGen() {
|
||||||
File pcGenOutput = new File("sw5eClasses.lst");
|
File pcGenOutput = new File("sw5eClasses.lst");
|
||||||
List<CharacterClass> classes = new ArrayList<CharacterClass>();
|
List<CharacterClass> classes = new ArrayList<CharacterClass>();
|
||||||
File pcgenFile = PCGenConverter.convertToPCGen(classes);
|
|
||||||
|
PCGenConverter converter = new PCGenConverter();
|
||||||
|
File pcgenFile = converter.convertToPCGen(classes);
|
||||||
|
|
||||||
assertTrue(pcgenFile.isFile());
|
assertTrue(pcgenFile.isFile());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void converterWritesCharacterClassesToFile() throws IOException {
|
||||||
|
File pcGenOutput = new File("sw5eClasses.lst");
|
||||||
|
List<CharacterClass> classes = createTestCharacterClasses();
|
||||||
|
|
||||||
|
PCGenConverter converter = new PCGenConverter();
|
||||||
|
File pcgenFile = converter.convertToPCGen(classes);
|
||||||
|
|
||||||
|
BufferedReader reader = new BufferedReader(new FileReader(pcgenFile));
|
||||||
|
assertTrue(reader.readLine().contains("Test Class"));
|
||||||
|
reader.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
List<CharacterClass> createTestCharacterClasses() {
|
||||||
|
List<CharacterClass> characterClasses = new ArrayList<CharacterClass>();
|
||||||
|
|
||||||
|
CharacterClass testClass = new CharacterClass();
|
||||||
|
testClass.setArchetypes("Archetype1");
|
||||||
|
testClass.setName("Test Class");
|
||||||
|
testClass.setSummary("This is a test class");
|
||||||
|
|
||||||
|
|
||||||
|
characterClasses.add(testClass);
|
||||||
|
return characterClasses;
|
||||||
|
}
|
||||||
|
|
||||||
|
FileReader readPCGenFile(File file) throws FileNotFoundException {
|
||||||
|
return new FileReader(file);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,9 @@ public class PCGenExporterTest {
|
|||||||
void exporterCreatesFileWhenNoneExists() {
|
void exporterCreatesFileWhenNoneExists() {
|
||||||
exporter = new PCGenExporter();
|
exporter = new PCGenExporter();
|
||||||
File file = new File("sw5eClasses.lst");
|
File file = new File("sw5eClasses.lst");
|
||||||
|
|
||||||
deleteFileIfExists(file);
|
deleteFileIfExists(file);
|
||||||
|
|
||||||
exporter.export(file);
|
exporter.export(file);
|
||||||
assertTrue(file.isFile());
|
assertTrue(file.isFile());
|
||||||
}
|
}
|
||||||
@@ -42,11 +44,20 @@ public class PCGenExporterTest {
|
|||||||
|
|
||||||
assertTrue(reader.readLine() == null);
|
assertTrue(reader.readLine() == null);
|
||||||
|
|
||||||
|
reader.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
void deleteFileIfExists(File file) {
|
void deleteFileIfExists(File file) {
|
||||||
if(!file.exists()) {
|
boolean isDeleted = true;
|
||||||
file.delete();
|
|
||||||
|
if(file.exists()) {
|
||||||
|
isDeleted = file.delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isDeleted) {
|
||||||
|
System.out.println("File Deleted");
|
||||||
|
} else {
|
||||||
|
System.out.println("Unable to Delete File");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user