package org.softlang.company.tests;
import static org.junit.Assert.assertEquals;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.nio.file.Files;
import org.junit.Test;
import org.softlang.company.features.Cut;
import org.softlang.company.features.Total;
public class TestCut {
@Test
public void testCut() {
String file = "inputs" + File.separator + "sampleCompany.json";
String file2 = "outputs" + File.separator + "outputCompany.json";
File in = new File(file);
File out = new File(file2);
assertEquals(326927.0, Total.total(in), 0.0);
Cut.cut(in, out);
assertEquals(Total.total(in) / 2, Total.total(out), 0.0);
in = new File("inputs" + File.separator + "cutSampleCompany.json");
try {
BufferedReader actualReader = new BufferedReader(
new FileReader(out));
BufferedReader expectedReader = new BufferedReader(new FileReader(
in));
String expected = "";
String actual = "";
while (expectedReader.ready())
expected += expectedReader.readLine();
while (actualReader.ready())
actual += actualReader.readLine();
expectedReader.close();
actualReader.close();
assertEquals(0, expected.compareTo(actual));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
out.delete();
}
@Test
public void testCutSameFile() {
String file = "inputs" + File.separator + "sampleCompany.json";
String file2 = "outputs" + File.separator + "outputCompany.json";
File in = new File(file);
File out = new File(file2);
// in.renameTo(out);
assertEquals(326927.0, Total.total(in), 0.0);
try {
Files.copy(in.toPath(), out.toPath());
Cut.cut(out);
in = new File("inputs" + File.separator + "cutSampleCompany.json");
assertEquals(Total.total(in), Total.total(out), 0.0);
BufferedReader actualReader = new BufferedReader(
new FileReader(out));
BufferedReader expectedReader = new BufferedReader(new FileReader(
in));
String expected = "";
String actual = "";
while (expectedReader.ready())
expected += expectedReader.readLine();
while (actualReader.ready())
actual += actualReader.readLine();
expectedReader.close();
actualReader.close();
assertEquals(0, expected.compareTo(actual));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}