package nebula.lang; import junit.framework.TestCase; public class TypesTest extends TestCase { TypeLoaderForTest compiler; @Override protected void setUp() throws Exception { compiler = new TypeLoaderForTest(new SystemTypeLoader()); } final StringBuilder sb = new StringBuilder(); public void test_types() throws Exception { //@formatter:off String text = "" + "type Person { \n" + " Account;\n" + " AccountNo;\n" + " Active;\n" + " Address;\n" + " Age;\n" + " Amount;\n" + " BBAN;\n" + " Birthday;\n" + " Code;\n" + " Comment;\n" + " Coordinates;\n" + " Count;\n" + " DateOfBirth;\n" + " Day;\n" + " Depth;\n" + " Description;\n" + " DUNS;\n" + " EMail;\n" + " Fax;\n" + " FirstName;\n" + " Frequency;\n" + " GAAP;\n" + " Height;\n" + " Help;\n" + " Host;\n" + " IBAN;\n" + " ID;\n" + " IPAddr;\n" + " JobTitle;\n" + " LastName;\n" + " Length;\n" + " Location;\n" + " Month;\n" + " MSG;\n" + " NAICS;\n" + " Note;\n" + " Password;\n" + " Percent;\n" + " Phone;\n" + " PIN;\n" + " PostalCode;\n" + " Precision;\n" + " Price;\n" + " Priority;\n" + " Probability;\n" + " Processed;\n" + " Processing;\n" + " Quantity;\n" + " Ranking;\n" + " Rate;\n" + " Ratio;\n" + " Rule;\n" + " SeqNo;\n" + " Sex;\n" + " SSN;\n" + " Subject;\n" + " SWIFTCode;\n" + " Symbol;\n" + " Tel;\n" + " Title;\n" + " Unit;\n" + " UOMEDICode;\n" + " UPC;\n" + " URL;\n" + " ValidFrom;\n" + " ValidTo;\n" + " Weight;\n" + " Width;\n" + " Year;\n" + " YesNo;\n" + " Zip;\n" + "};"; //@formatter:on TypeImp type = (TypeImp)compiler.load(text); assertEquals("Person", type.name); assertEquals(71, type.fields.size()); int i = -1; i++; assertEquals("Account", type.fields.get(i).name); i++; assertEquals("AccountNo", type.fields.get(i).name); i++; assertEquals("Active", type.fields.get(i).name); i++; assertEquals("Address", type.fields.get(i).name); i++; assertEquals("Age", type.fields.get(i).name); i++; assertEquals("Amount", type.fields.get(i).name); i++; assertEquals("BBAN", type.fields.get(i).name); i++; assertEquals("Birthday", type.fields.get(i).name); i++; assertEquals("Code", type.fields.get(i).name); i++; assertEquals("Comment", type.fields.get(i).name); i++; assertEquals("Coordinates", type.fields.get(i).name); i++; assertEquals("Count", type.fields.get(i).name); i++; assertEquals("DateOfBirth", type.fields.get(i).name); i++; assertEquals("Day", type.fields.get(i).name); i++; assertEquals("Depth", type.fields.get(i).name); i++; assertEquals("Description", type.fields.get(i).name); i++; assertEquals("DUNS", type.fields.get(i).name); i++; assertEquals("EMail", type.fields.get(i).name); i++; assertEquals("Fax", type.fields.get(i).name); i++; assertEquals("FirstName", type.fields.get(i).name); i++; assertEquals("Frequency", type.fields.get(i).name); i++; assertEquals("GAAP", type.fields.get(i).name); i++; assertEquals("Height", type.fields.get(i).name); i++; assertEquals("Help", type.fields.get(i).name); i++; assertEquals("Host", type.fields.get(i).name); i++; assertEquals("IBAN", type.fields.get(i).name); i++; assertEquals("ID", type.fields.get(i).name); i++; assertEquals("IPAddr", type.fields.get(i).name); i++; assertEquals("JobTitle", type.fields.get(i).name); i++; assertEquals("LastName", type.fields.get(i).name); i++; assertEquals("Length", type.fields.get(i).name); i++; assertEquals("Location", type.fields.get(i).name); i++; assertEquals("Month", type.fields.get(i).name); i++; assertEquals("MSG", type.fields.get(i).name); i++; assertEquals("NAICS", type.fields.get(i).name); i++; assertEquals("Note", type.fields.get(i).name); i++; assertEquals("Password", type.fields.get(i).name); i++; assertEquals("Percent", type.fields.get(i).name); i++; assertEquals("Phone", type.fields.get(i).name); i++; assertEquals("PIN", type.fields.get(i).name); i++; assertEquals("PostalCode", type.fields.get(i).name); i++; assertEquals("Precision", type.fields.get(i).name); i++; assertEquals("Price", type.fields.get(i).name); i++; assertEquals("Priority", type.fields.get(i).name); i++; assertEquals("Probability", type.fields.get(i).name); i++; assertEquals("Processed", type.fields.get(i).name); i++; assertEquals("Processing", type.fields.get(i).name); i++; assertEquals("Quantity", type.fields.get(i).name); i++; assertEquals("Ranking", type.fields.get(i).name); i++; assertEquals("Rate", type.fields.get(i).name); i++; assertEquals("Ratio", type.fields.get(i).name); i++; assertEquals("Rule", type.fields.get(i).name); i++; assertEquals("SeqNo", type.fields.get(i).name); i++; assertEquals("Sex", type.fields.get(i).name); i++; assertEquals("SSN", type.fields.get(i).name); i++; assertEquals("Subject", type.fields.get(i).name); i++; assertEquals("SWIFTCode", type.fields.get(i).name); i++; assertEquals("Symbol", type.fields.get(i).name); i++; assertEquals("Tel", type.fields.get(i).name); i++; assertEquals("Title", type.fields.get(i).name); i++; assertEquals("Unit", type.fields.get(i).name); i++; assertEquals("UOMEDICode", type.fields.get(i).name); i++; assertEquals("UPC", type.fields.get(i).name); i++; assertEquals("URL", type.fields.get(i).name); i++; assertEquals("ValidFrom", type.fields.get(i).name); i++; assertEquals("ValidTo", type.fields.get(i).name); i++; assertEquals("Weight", type.fields.get(i).name); i++; assertEquals("Width", type.fields.get(i).name); i++; assertEquals("Year", type.fields.get(i).name); i++; assertEquals("YesNo", type.fields.get(i).name); i++; assertEquals("Zip", type.fields.get(i).name); } }