package ecologylab.bigsemantics.metadata;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import ecologylab.bigsemantics.metadata.builtins.Document;
import ecologylab.net.ParsedURL;
import ecologylab.serialization.SIMPLTranslationException;
import ecologylab.serialization.SimplTypesScope;
import ecologylab.serialization.formatenums.StringFormat;
public class RoundTripTest
{
MetadataComparator comparator = new MetadataComparator();
@Test
public void validateMetadataRoundTrip() throws SIMPLTranslationException, InterruptedException
{
ParsedURL purl = ParsedURL.getAbsolute("http://dl.acm.org/citation.cfm?id=1835572");
// ParsedURL purl = ParsedURL.getAbsolute("http://www.amazon.com/gp/product/B0050SYS5A/");
MetadataTestHelper m = new MetadataTestHelper();
Document doc = m.getMetadata(purl);
String xml = SimplTypesScope.serialize(doc, StringFormat.XML).toString();
assertNotNull(xml);
assertTrue(xml.length() > 0);
MetadataDeserializationHookStrategy strategy = new MetadataDeserializationHookStrategy(
MetadataTestHelper.semanticSessionScope);
SimplTypesScope metadataTScope = MetadataTestHelper.metadataTScope;
Document newDoc = (Document) metadataTScope.deserialize(xml, strategy, StringFormat.XML);
assertTrue(comparator.compare(doc, newDoc) == 0);
}
}