package org.apache.stratum.xo.datamodel;
import java.io.File;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.apache.stratum.xo.Mapper;
public class TestDatamodelMapping
extends TestCase
{
private static String TEST_DOCUMENT =
"src/test/org/apache/stratum/xo/datamodel/datamodel.xml";
private static String TEST_CLASS =
"org.apache.stratum.xo.datamodel.Database";
public TestDatamodelMapping(String testName)
{
super(testName);
}
public static Test suite()
{
return new TestSuite(TestDatamodelMapping.class);
}
public void setUp()
{
}
public void tearDown()
{
}
public void testDatamodelMapping()
{
try
{
Mapper m = new Mapper();
m.setDebug(true);
Database d = (Database) m.map(new File(TEST_DOCUMENT), TEST_CLASS);
// Check database properties
assertTrue("bookstore".equals(d.getName()));
assertTrue("idbroker".equals(d.getIdMethod()));
// Check book table
assertTrue("book".equals(d.getTable(0).getName()));
assertTrue("book_id".equals(d.getTable(0).getColumn(0).getName()));
assertTrue(true == d.getTable(0).getColumn(0).isRequired());
assertTrue(true == d.getTable(0).getColumn(0).isPrimaryKey());
assertTrue("INTEGER".equals(d.getTable(0).getColumn(0).getType()));
assertTrue("isbn".equals(d.getTable(0).getColumn(1).getName()));
assertTrue("author_id".equals(d.getTable(0).getColumn(2).getName()));
assertTrue("title".equals(d.getTable(0).getColumn(3).getName()));
// Check author table
assertTrue("author".equals(d.getTable(1).getName()));
}
catch (Exception e)
{
fail(e.getMessage());
}
}
}