public class org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation extends java.lang.Object
{
public void <init>()
{
org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void testValidSchemaSet()
{
org.finos.legend.pure.generated.Root_meta_external_format_shared_metamodel_SchemaSet v;
org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v;
org.finos.legend.pure.m.coreinstance.Package v;
java.lang.Object v;
java.lang.String v, v;
org.eclipse.collections.api.tuple.Pair v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite: org.eclipse.collections.api.tuple.Pair test(java.lang.String)>("###ExternalFormat\nSchemaSet meta::firm::SchemaSet\n{\n  format: Example;\n  schemas: [ \n    { id: s; location: \'e.schema\'; content: \'example1\'; },\n    { id: s; location: \'e.schema\'; content: \'example2\'; }\n  ];\n}\n");
v = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getTwo()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext getContext()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.HelperExternalFormat: org.finos.legend.pure.generated.Root_meta_external_format_shared_metamodel_SchemaSet getSchemaSet(java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext)>("meta::firm::SchemaSet", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_metamodel_SchemaSet: java.lang.String _name()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("SchemaSet", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_metamodel_SchemaSet: org.finos.legend.pure.m.coreinstance.Package _package()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.Package: java.lang.String getName()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("firm", v);
return;
}
public void testSchemaSetDuplicateIds()
{
org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation;
staticinvoke <org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite: org.eclipse.collections.api.tuple.Pair test(java.lang.String,java.lang.String)>("###ExternalFormat\nSchemaSet meta::firm::SchemaSet\n{\n  format: Example;\n  schemas: [ \n    { id: s; location: \'e.schema\'; content: \'example1\'; },\n    { id: s; location: \'e.schema\'; content: \'example2\'; }\n  ];\n}\n", "COMPILATION error at [7:5-59]: Schema id \'s1\' is duplicated");
return;
}
public void testSchemaSetDuplicateLocations()
{
org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation;
staticinvoke <org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite: org.eclipse.collections.api.tuple.Pair test(java.lang.String,java.lang.String)>("###ExternalFormat\nSchemaSet meta::firm::SchemaSet\n{\n  format: Example;\n  schemas: [ \n    { id: s; location: \'e.schema\'; content: \'example1\'; },\n    { id: s; location: \'e.schema\'; content: \'example2\'; }\n  ];\n}\n", "COMPILATION error at [7:5-59]: Schema location \'e.schema\' is duplicated");
return;
}
public void testValidBinding()
{
org.finos.legend.pure.generated.Root_meta_external_format_shared_metamodel_SchemaSet v;
org.finos.legend.pure.generated.Root_meta_pure_model_unit_ModelUnit v, v;
org.eclipse.collections.api.list.MutableList v, v;
org.eclipse.collections.api.RichIterable v, v;
org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation v;
org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding v;
org.finos.legend.pure.m.coreinstance.Package v;
java.lang.String v, v, v, v, v, v, v;
org.eclipse.collections.api.tuple.Pair v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v;
java.lang.Object v, v, v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite: org.eclipse.collections.api.tuple.Pair test(java.lang.String)>("###Pure\nClass meta::firm::Firm\n{\n  name: String[1];\n}\nClass meta::firm::Person\n{\n  fullName: String[1];\n}\n\n###ExternalFormat\nSchemaSet meta::firm::SchemaSet\n{\n  format: Example;\n  schemas: [ \n    { id: s; location: \'e.schema\'; content: \'example1\'; },\n    { id: s; location: \'e.schema\'; content: \'example2\'; }\n  ];\n}\n\nBinding meta::firm::Binding\n{\n  schemaSet: meta::firm::SchemaSet;\n  schemaId: s;\n  contentType: \'text/example\';\n  modelIncludes: [ meta::firm ];\n  modelExcludes: [ meta::firm::Person ];\n}\n");
v = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getTwo()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext getContext()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.HelperExternalFormat: org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding getBinding(java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext)>("meta::firm::Binding", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding: java.lang.String _name()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("Binding", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding: org.finos.legend.pure.m.coreinstance.Package _package()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.Package: java.lang.String getName()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("firm", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding: org.finos.legend.pure.generated.Root_meta_external_format_shared_metamodel_SchemaSet _schemaSet()>();
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_metamodel_SchemaSet: java.lang.String _name()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("SchemaSet", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding: org.finos.legend.pure.generated.Root_meta_pure_model_unit_ModelUnit _modelUnit()>();
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_model_unit_ModelUnit: org.eclipse.collections.api.RichIterable _packageableElementIncludes()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement: java.lang.String _name()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("firm", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding: java.lang.String _schemaId()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("s1", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding: java.lang.String _contentType()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("text/example", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding: org.finos.legend.pure.generated.Root_meta_pure_model_unit_ModelUnit _modelUnit()>();
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_model_unit_ModelUnit: org.eclipse.collections.api.RichIterable _packageableElementExcludes()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement: java.lang.String _name()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("Person", v);
return;
}
public void testValidBindingWithoutSchemaSet()
{
org.finos.legend.pure.generated.Root_meta_pure_model_unit_ModelUnit v;
org.eclipse.collections.api.list.MutableList v;
org.eclipse.collections.api.RichIterable v;
org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation v;
org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding v;
org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext v;
org.finos.legend.pure.m.coreinstance.Package v;
java.lang.Object v, v;
java.lang.String v, v, v, v;
org.eclipse.collections.api.tuple.Pair v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation;
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite: org.eclipse.collections.api.tuple.Pair test(java.lang.String)>("###Pure\nClass meta::firm::Firm\n{\n  name: String[1];\n}\nClass meta::firm::Person\n{\n  fullName: String[1];\n}\n\n###ExternalFormat\nBinding meta::firm::Binding\n{\n  contentType: \'text/example\';\n  modelIncludes: [ meta::firm ];\n  modelExcludes: [ meta::firm::Person ];\n}\n");
v = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getTwo()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel: org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext getContext()>();
v = staticinvoke <org.finos.legend.engine.language.pure.compiler.toPureGraph.HelperExternalFormat: org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding getBinding(java.lang.String,org.finos.legend.engine.language.pure.compiler.toPureGraph.CompileContext)>("meta::firm::Binding", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding: java.lang.String _name()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("Binding", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding: org.finos.legend.pure.m.coreinstance.Package _package()>();
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.Package: java.lang.String getName()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("firm", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding: java.lang.String _contentType()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("text/example", v);
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_external_format_shared_binding_Binding: org.finos.legend.pure.generated.Root_meta_pure_model_unit_ModelUnit _modelUnit()>();
v = interfaceinvoke v.<org.finos.legend.pure.generated.Root_meta_pure_model_unit_ModelUnit: org.eclipse.collections.api.RichIterable _packageableElementExcludes()>();
v = interfaceinvoke v.<org.eclipse.collections.api.RichIterable: org.eclipse.collections.api.list.MutableList toList()>();
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<org.finos.legend.pure.m.coreinstance.meta.pure.metamodel.PackageableElement: java.lang.String _name()>();
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("Person", v);
return;
}
public void testBindingInvalidSet()
{
org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation;
staticinvoke <org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite: org.eclipse.collections.api.tuple.Pair test(java.lang.String,java.lang.String)>("###Pure\nClass meta::firm::Person\n{\n  fullName: String[1];\n}\n\n###ExternalFormat\nBinding meta::firm::Binding\n{\n  schemaSet: meta::firm::Unknown;\n  contentType: \'text/example\';\n  modelIncludes: [\n    meta::firm::Person\n  ];\n}\n", "COMPILATION error at [8:1-15:1]: Can\'t find SchemaSet \'meta::firm::Unknown\'");
return;
}
public void testBindingInvalidContentType()
{
org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation;
staticinvoke <org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite: org.eclipse.collections.api.tuple.Pair test(java.lang.String,java.lang.String)>("###Pure\nClass meta::firm::Person\n{\n  fullName: String[1];\n}\n\n###ExternalFormat\nBinding meta::firm::Binding\n{\n  contentType: \'text/unknown\';\n  modelIncludes: [\n    meta::firm::Person\n  ];\n}\n", "COMPILATION error at [8:1-14:1]: Unknown contentType \'text/unknown\'");
return;
}
public void testBindingInvalidId()
{
org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation;
staticinvoke <org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite: org.eclipse.collections.api.tuple.Pair test(java.lang.String,java.lang.String)>("###Pure\nClass meta::firm::Person\n{\n  fullName: String[1];\n}\n\n###ExternalFormat\nSchemaSet meta::firm::SchemaSet\n{\n  format: Example;\n  schemas: [ \n    { id: s; location: \'e.schema\'; content: \'example1\'; },\n    { id: s; location: \'e.schema\'; content: \'example2\'; }\n  ];\n}\n\nBinding meta::firm::Binding\n{\n  schemaSet: meta::firm::SchemaSet;\n  schemaId: unknown;\n  contentType: \'text/example\';\n  modelIncludes: [ meta::firm::Person ];\n}\n", "COMPILATION error at [17:1-23:1]: ID \'unknown\' does not exist in SchemaSet \'meta::firm::SchemaSet\'");
return;
}
public void testBindingInvalidIncludeClass()
{
org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation;
staticinvoke <org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite: org.eclipse.collections.api.tuple.Pair test(java.lang.String,java.lang.String)>("###Pure\nClass meta::firm::Person\n{\n  fullName: String[1];\n}\n\n###ExternalFormat\nSchemaSet meta::firm::SchemaSet\n{\n  format: Example;\n  schemas: [ \n    { id: s; location: \'e.schema\'; content: \'example1\'; },\n    { id: s; location: \'e.schema\'; content: \'example2\'; }\n  ];\n}\n\nBinding meta::firm::Binding\n{\n  schemaSet: meta::firm::SchemaSet;\n  schemaId: s;\n  contentType: \'text/example\';\n  modelIncludes: [ meta::firm::Unknown ];\n}\n", "COMPILATION error at [17:1-23:1]: Can\'t find the packageable element \'meta::firm::Unknown\'");
return;
}
public void testBindingInvalidExcludeClass()
{
org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation;
staticinvoke <org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite: org.eclipse.collections.api.tuple.Pair test(java.lang.String,java.lang.String)>("###Pure\nClass meta::firm::Person\n{\n  fullName: String[1];\n}\n\n###ExternalFormat\nSchemaSet meta::firm::SchemaSet\n{\n  format: Example;\n  schemas: [ \n    { id: s; location: \'e.schema\'; content: \'example1\'; },\n    { id: s; location: \'e.schema\'; content: \'example2\'; }\n  ];\n}\n\nBinding meta::firm::Binding\n{\n  schemaSet: meta::firm::SchemaSet;\n  schemaId: s;\n  contentType: \'text/example\';\n  modelIncludes: [ meta::firm ];\n  modelExcludes: [ meta::firm::Unknown ];\n}\n", "COMPILATION error at [17:1-24:1]: Can\'t find the packageable element \'meta::firm::Unknown\'");
return;
}
public void testCompilationOfCheckedFunction()
{
org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation v;
v := @this: org.finos.legend.engine.language.pure.compiler.test.TestExternalFormatCompilation;
staticinvoke <org.finos.legend.engine.language.pure.compiler.test.TestCompilationFromGrammar$TestCompilationFromGrammarTestSuite: org.eclipse.collections.api.tuple.Pair test(java.lang.String)>("###Pure\nClass meta::firm::Person\n{\n  fullName: String[1];\n}\nClass meta::firm::TargetPerson\n{\n  firstName: String[1];\n  lastName: String[1];\n}\nfunction meta::firm::checkCheckedFunctionCompilation():Any[*]\n{\n   checked(#{meta::firm::TargetPerson{firstName, lastName}}#, defaultDefectTree());\n   checked(#{meta::firm::TargetPerson{firstName, lastName}}#, defaultDefectTree(), #{meta::firm::Person{fullName}}#);\n}\n");
return;
}
}