package org.softlang.company.tests; import static org.softlang.company.features.Cut.*; import static org.softlang.company.features.Total.*; import org.softlang.company.features.Serialization; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import java.awt.image.SampleModel; import java.io.File; import static org.junit.Assert.*; import org.junit.Test; public class SerializationTest { private static String sampleCompany = "inputs" + File.separator + "sampleCompany.xml"; private static String nonCompany = "inputs" + File.separator + "nonCompany.xml"; private static String companySchema = "inputs" + File.separator + "Company.xsd"; private static String output = "outputs" + File.separator + "output.xml"; @Test public void testDeserialization() throws Exception { Serialization.loadDocument(sampleCompany); } @Test public void testSerialization() throws Exception { Document doc = Serialization.loadDocument(sampleCompany); double totalPre = total(doc); cut(doc); new File("outputs").mkdir(); Serialization.saveDocument(doc, output); Document cutDoc = Serialization.loadDocument(output); double total = total(cutDoc); assertEquals(totalPre / 2.0, total, 0); } @Test public void testValidation() throws Exception { Document doc = Serialization.loadDocument(sampleCompany); assertTrue(Serialization.isValidXml(sampleCompany, companySchema)); cut(doc); Serialization.saveDocument(doc, output); assertTrue(Serialization.isValidXml(output, companySchema)); doc = Serialization.loadDocument(nonCompany); assertFalse(Serialization.isValidXml(nonCompany, companySchema)); } }