package org.softlang.company.tests;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import org.junit.Test;
import org.softlang.company.features.Parsing;
import org.softlang.company.features.Unparsing;
import org.softlang.company.model.Company;
public class TestUnparsing {
@Test
public void testUnparse() {
String in = "inputs" + File.separator + "sampleCompany.json";
Company c;
try {
c = Parsing.parseFromFile(in);
String jsonOut = Unparsing.unparse(c);
String jsonIn = "";
BufferedReader input = new BufferedReader(new FileReader(new File(
in)));
if (input.ready()) // readLine deletes \n while reading
jsonIn += input.readLine();
while (input.ready())
jsonIn += "\n" + input.readLine();
assertEquals(0, jsonOut.compareTo(jsonIn));
input.close();
} catch (IOException e) {
fail();
}
}
@Test
public void testUnparseToFile() {
String in = "inputs" + File.separator + "sampleCompany.json";
String out = "outputs" + File.separator + "outCompany.json";
Company c;
new File("outputs").mkdir();
c = Parsing.parseFromFile(in);
String jsonIn = "";
String jsonOut = "";
try {
Unparsing.unparseToFile(c, out);
BufferedReader input = new BufferedReader(new FileReader(new File(
in)));
BufferedReader output = new BufferedReader(new FileReader(new File(
out)));
while (output.ready())
jsonOut += output.readLine();
while (input.ready())
jsonIn += input.readLine();
assertEquals(0, jsonOut.compareTo(jsonIn));
output.close();
input.close();
} catch (IOException e) {
fail();
}
}
}