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.Before;
import org.junit.Test;
import org.softlang.company.features.Unparsing;
import org.softlang.company.model.Company;
import org.softlang.company.model.Department;
import org.softlang.company.model.Employee;
public class TestUnparsing {
Company acme;
String example = "";
@Before
public void setUp() {
example = "";
acme = new Company("ACME Corporation");
Department d1 = new Department("Research", new Employee("Craig",
"Redmond", 123456));
d1.addEmployee(new Employee("Erik", "Utrecht", 12345));
d1.addEmployee(new Employee("Ralf", "Koblenz", 1234));
acme.addDepartment(d1);
Department d2 = new Department("Development", new Employee("Ray",
"Redmond", 234567));
Department d3 = new Department("Dev1", new Employee("Klaus", "Boston",
23456));
Department d4 = new Department("Dev1.1", new Employee("Karl", "Riga",
2345));
d4.addEmployee(new Employee("Joe", "Wifi City", 2344));
d2.addSubDepartment(d3);
d3.addSubDepartment(d4);
acme.addDepartment(d2);
try {
BufferedReader read = new BufferedReader(new FileReader("inputs"
+ File.separatorChar + "sample.Company"));
while (read.ready())
example += read.readLine();
read.close();
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void test() {
new File("outputs").mkdir();
Unparsing
.unparse(acme, "outputs" + File.separatorChar + "test.Company");
String out = "";
try {
BufferedReader read = new BufferedReader(new FileReader("outputs"
+ File.separatorChar + "test.Company"));
while (read.ready())
out += read.readLine();
read.close();
} catch (IOException e) {
fail();
}
assertEquals(0, out.compareTo(example));
}
}