public class org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser extends org.finos.legend.engine.language.pure.grammar.test.TestGrammarParser$TestGrammarParserTestSuite
{
public void <init>()
{
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
specialinvoke v.<org.finos.legend.engine.language.pure.grammar.test.TestGrammarParser$TestGrammarParserTestSuite: void <init>()>();
return;
}
public org.antlr.v.runtime.Vocabulary getParserGrammarVocabulary()
{
org.antlr.v.runtime.Vocabulary v;
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
v = <org.finos.legend.engine.language.pure.grammar.'from'.antlr.mapping.MappingParserGrammar: org.antlr.v.runtime.Vocabulary VOCABULARY>;
return v;
}
public java.util.List getDelegatedParserGrammarVocabulary()
{
org.antlr.v.runtime.Vocabulary v, v, v, v;
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
org.antlr.v.runtime.Vocabulary[] v;
org.eclipse.collections.impl.list.mutable.FastList v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
v = newarray (org.antlr.v.runtime.Vocabulary)[4];
v = <org.finos.legend.engine.language.pure.grammar.'from'.antlr.mapping.enumerationMapping.EnumerationMappingParserGrammar: org.antlr.v.runtime.Vocabulary VOCABULARY>;
v[0] = v;
v = <org.finos.legend.engine.language.pure.grammar.'from'.antlr.mapping.operationClassMapping.OperationClassMappingParserGrammar: org.antlr.v.runtime.Vocabulary VOCABULARY>;
v[1] = v;
v = <org.finos.legend.engine.language.pure.grammar.'from'.antlr.mapping.pureInstanceClassMapping.PureInstanceClassMappingParserGrammar: org.antlr.v.runtime.Vocabulary VOCABULARY>;
v[2] = v;
v = <org.finos.legend.engine.language.pure.grammar.'from'.antlr.mapping.xStoreAssociationMapping.XStoreAssociationMappingParserGrammar: org.antlr.v.runtime.Vocabulary VOCABULARY>;
v[3] = v;
v = staticinvoke <org.eclipse.collections.impl.list.mutable.FastList: org.eclipse.collections.impl.list.mutable.FastList newListWith(java.lang.Object[])>(v);
return v;
}
public java.lang.String getParserGrammarIdentifierInclusionTestCode(java.util.List)
{
org.eclipse.collections.api.list.MutableList v, v, v, v;
java.util.List v;
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
java.lang.String v, v, v, v, v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
v := @parameter: java.util.List;
v = staticinvoke <org.eclipse.collections.impl.list.mutable.ListAdapter: org.eclipse.collections.api.list.MutableList adapt(java.util.List)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.String makeString(java.lang.String)>("::");
v = staticinvoke <org.eclipse.collections.impl.list.mutable.ListAdapter: org.eclipse.collections.api.list.MutableList adapt(java.util.List)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.String makeString(java.lang.String)>("::");
v = staticinvoke <org.eclipse.collections.impl.list.mutable.ListAdapter: org.eclipse.collections.api.list.MutableList adapt(java.util.List)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.String makeString(java.lang.String)>("::");
v = staticinvoke <org.eclipse.collections.impl.list.mutable.ListAdapter: org.eclipse.collections.api.list.MutableList adapt(java.util.List)>(v);
v = interfaceinvoke v.<org.eclipse.collections.api.list.MutableList: java.lang.String makeString(java.lang.String)>("::");
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("###Mapping\nMapping \u0001\n(\n  anything::else::goes: EnumerationMapping TargetTradeTypeMapping2\n  {\n    TT3: [anything::else::goes::\u.MT21]\n  }\n  *anything::goes[anything_goes]: Operation\n  {\n    meta::pure::router::\u0001::operations::union_OperationSetImplementation_1__SetImplementation_MANY_(p,p)\n  }\n  *anything::goes[anything_goes]: Pure\n  {\n    ~src anything::goes::\u0001\n    firstName: $src.fullName->substring(0, $src.fullName->indexOf(\' \')),\n    incType : EnumerationMapping a : 1  }\n\n)\n");
return v;
}
public void testEmptyGraphFetchTree()
{
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping testing::mapping\n(\n  *testing::Person[testing_Person]: Pure\n  {\n    ~src testing::other::NPerson\n    fullName: $src.firstName + \' \' + $src.lastName\n  }\n\n  MappingTests\n  [\n    test_1\n    (\n      query: |testing::Person.all()->graphFetchChecked(#{}#)->serialize(#{}#);\n      data:\n      [\n        <Object, JSON, testing::other::NPerson, \'{\"firstName\":\"firstName 7\",\"lastName\":\"lastName 55\"}\'>\n      ];\n      assert: \'{}\';\n    )\n  ]\n)\n", "PARSER error at [14:56-59]: Graph fetch tree must not be empty");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping testing::mapping\n(\n  *testing::Person[testing_Person]: Pure\n  {\n    ~src testing::other::NPerson\n    fullName: $src.firstName + \' \' + $src.lastName\n  }\n\n  MappingTests\n  [\n    test_1\n    (\n      query: |testing::Person.all()->graphFetchChecked(#{testing::Person{}}#)->serialize(#{testing::Person{}}#);\n      data:\n      [\n        <Object, JSON, testing::other::NPerson, \'{\"firstName\":\"firstName 7\",\"lastName\":\"lastName 55\"}\'>\n      ];\n      assert: \'{}\';\n    )\n  ]\n)\n", "PARSER error at [14:74]: Unexpected token \'}\'");
return;
}
public void testLambdaWithFunctionAllWithoutFunctionCaller()
{
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping testing::mapping\n(\n  *testing::Person[testing_Person]: Pure\n  {\n    ~src testing::other::NPerson\n    fullName: ::.all()\n  }\n)\n", "PARSER error at [7:15-22]: Expected a non-empty function caller");
return;
}
public void testSpecialMappingElementId()
{
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping mapping\n(\n  Person[true]: Pure\n  {\n  }\n  Person[false]: Pure\n  {\n  }\n  Person[1]: Pure\n  {\n  }\n  Person[true]: EnumerationMapping 1\n  {\n      a : [\'a\']\n  }\n  Person[true]: EnumerationMapping true\n  {\n      a : [\'a\']\n  }\n  Person[true]: EnumerationMapping false\n  {\n      a : [\'a\']\n  }\n)\n");
return;
}
public void testEnumerationMappingSourceInformation()
{
java.util.function.Function v, v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData v;
int v, v, v, v;
java.util.stream.Collector v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v, v, v, v;
java.util.List v, v, v, v, v, v;
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
java.util.stream.Stream v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
v = staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping ui::meta::something::tests::mapping::enumeration::model::mapping::employeeTestMapping\n(\n  demo::EnumWithSpace: EnumerationMapping\n  {\n    \'ENUM VALUE WITH SPACE\': [\'Dummy Value\']\n  }\n)\n");
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser$lambda_testEnumerationMappingSourceInformation_0__7: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.function.Function: java.util.function.Function identity()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toMap(java.util.function.Function,java.util.function.Function)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("ui::meta::something::tests::mapping::enumeration::model::mapping::employeeTestMapping");
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List enumerationMappings>;
v = interfaceinvoke v.<java.util.List: int size()>();
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(1L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List enumerationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.EnumerationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
staticinvoke <org.junit.Assert: void assertNotNull(java.lang.Object)>(v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List enumerationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.EnumerationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int startLine>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(4L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List enumerationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.EnumerationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int endLine>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(7L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List enumerationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.EnumerationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int endColumn>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(3L, v);
return;
}
public void testEnumerationMappingEnumeration()
{
org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer v, v, v, v, v, v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData v;
java.util.stream.Collector v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v, v, v, v;
java.util.List v, v, v, v, v, v, v, v;
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType v, v, v, v;
java.util.stream.Stream v;
java.util.function.Function v, v;
int v, v, v, v;
java.lang.Object v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
v = staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping ui::meta::something::tests::mapping::enumeration::model::mapping::employeeTestMapping\n(\n  demo::EnumWithSpace: EnumerationMapping\n  {\n    \'ENUM VALUE WITH SPACE\': [\'Dummy Value\']\n  }\n)\n");
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser$lambda_testEnumerationMappingEnumeration_1__8: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.function.Function: java.util.function.Function identity()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toMap(java.util.function.Function,java.util.function.Function)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("ui::meta::something::tests::mapping::enumeration::model::mapping::employeeTestMapping");
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List enumerationMappings>;
v = interfaceinvoke v.<java.util.List: int size()>();
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(1L, v);
v = <org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType ENUMERATION>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List enumerationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.EnumerationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer enumeration>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType type>;
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType ENUMERATION>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List enumerationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.EnumerationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer enumeration>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType type>;
staticinvoke <org.junit.Assert: void assertEquals(java.lang.String,java.lang.Object,java.lang.Object)>("demo::EnumWithSpace", v, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List enumerationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.EnumerationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer enumeration>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
staticinvoke <org.junit.Assert: void assertNotNull(java.lang.Object)>(v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List enumerationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.EnumerationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer enumeration>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int startLine>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(4L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List enumerationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.EnumerationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer enumeration>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int endLine>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(4L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List enumerationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.EnumerationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer enumeration>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int endColumn>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(21L, v);
return;
}
public void testMappingTest()
{
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping testing::mapping\n(\n  MappingTests\n  [\n    test_1\n    (\n      assert: \'{}\';\n      data:[<Object, JSON, testing::other::NPerson, \'{\"firstName\":\"firstName 7\",\"lastName\":\"lastName 55\"}\'>];\n    )\n  ]\n)\n", "PARSER error at [6:5-10:5]: Field \'query\' is required");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping testing::mapping\n(\n  MappingTests\n  [\n    test_1\n    (\n      assert: \'{}\';\n      query: |testing::Person.all();\n    )\n  ]\n)\n", "PARSER error at [6:5-10:5]: Field \'data\' is required");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping testing::mapping\n(\n  MappingTests\n  [\n    test_1\n    (\n      query: |testing::Person.all();\n      data:[<Object, JSON, testing::other::NPerson, \'{\"firstName\":\"firstName 7\",\"lastName\":\"lastName 55\"}\'>];\n    )\n  ]\n)\n", "PARSER error at [6:5-10:5]: Field \'assert\' is required");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping testing::mapping\n(\n  MappingTests\n  [\n    test_1\n    (\n      query: |testing::Person.all();\n      query: |testing::Person.all();\n      data:[<Object, JSON, testing::other::NPerson, \'{\"firstName\":\"firstName 7\",\"lastName\":\"lastName 55\"}\'>];\n      assert: \'{}\';\n    )\n  ]\n)\n", "PARSER error at [6:5-12:5]: Field \'query\' should be specified only once");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping testing::mapping\n(\n  MappingTests\n  [\n    test_1\n    (\n      data:[<Object, JSON, testing::other::NPerson, \'{\"firstName\":\"firstName 7\",\"lastName\":\"lastName 55\"}\'>];\n      query: |testing::Person.all();\n      data:[<Object, JSON, testing::other::NPerson, \'{\"firstName\":\"firstName 7\",\"lastName\":\"lastName 55\"}\'>];\n      assert: \'{}\';\n    )\n  ]\n)\n", "PARSER error at [6:5-12:5]: Field \'data\' should be specified only once");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping testing::mapping\n(\n  MappingTests\n  [\n    test_1\n    (\n      assert: \'{}\';\n      query: |testing::Person.all();\n      data:[<Object, JSON, testing::other::NPerson, \'{\"firstName\":\"firstName 7\",\"lastName\":\"lastName 55\"}\'>];\n      assert: \'{}\';\n    )\n  ]\n)\n", "PARSER error at [6:5-12:5]: Field \'assert\' should be specified only once");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("Class model::domain::Source {}\n###Mapping\nMapping meta::pure::mapping::modelToModel::test::simple::simpleModelMapping\n(\n   MappingTests\n   [\n      test2\n      (\n         query: |model::domain::Target.all()->graphFetchChecked(#{model::domain::Target{name}}#)->serialize(#{model::domain::Target{name}}#);\n         data: [<Object, FUNK_UNKNOWN_FORMAT, model::domain::Source, \'{\"oneName\":\"oneName 2\",\"anotherName\":\"anotherName 16\",\"oneDate\":\"2020-02-05\",\"anotherDate\":\"2020-04-13\",\"oneNumber\":24,\"anotherNumber\":29}\'>                   ];\n         assert: \'{\"defects\":[],\"value\":{\"name\":\"oneName 99\"},\"source\":{\"defects\":[],\"value\":{\"oneName\":\"oneName 99\"},\"source\":{\"number\":1,\"record\":\"{\\\"oneName\\\":\\\"oneName 99\\\",\\\"anotherName\\\":\\\"anotherName 17\\\",\\\"oneDate\\\":\\\"2020-04-13\\\",\\\"anotherDate\\\":\\\"2020-02-25\\\",\\\"oneNumber\\\":27,\\\"anotherNumber\\\":28}\"}}}\';\n      )\n   ]\n)\n", "PARSER error at [10:26-44]: Mapping test object input data does not support format \'FUNK_UNKNOWN_FORMAT\'. Possible values: JSON, XML");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("Class model::domain::Source {}\n###Mapping\nMapping meta::pure::mapping::modelToModel::test::simple::simpleModelMapping\n(\n   MappingTests\n   [\n      test2\n      (\n         query: |model::domain::Target.all()->graphFetchChecked(#{model::domain::Target{name}}#)->serialize(#{model::domain::Target{name}}#);\n         data: [<Object, model::domain::Source, \'{\"oneName\":\"oneName 2\",\"anotherName\":\"anotherName 16\",\"oneDate\":\"2020-02-05\",\"anotherDate\":\"2020-04-13\",\"oneNumber\":24,\"anotherNumber\":29}\'>                   ];\n         assert: \'{\"defects\":[],\"value\":{\"name\":\"oneName 99\"},\"source\":{\"defects\":[],\"value\":{\"oneName\":\"oneName 99\"},\"source\":{\"number\":1,\"record\":\"{\\\"oneName\\\":\\\"oneName 99\\\",\\\"anotherName\\\":\\\"anotherName 17\\\",\\\"oneDate\\\":\\\"2020-04-13\\\",\\\"anotherDate\\\":\\\"2020-02-25\\\",\\\"oneNumber\\\":27,\\\"anotherNumber\\\":28}\"}}}\';\n      )\n   ]\n)\n", "PARSER error at [10:17-189]: Mapping test object \'input type\' is missing. Possible values: JSON, XML");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("Class model::domain::Source {}\n###Mapping\nMapping meta::pure::mapping::modelToModel::test::simple::simpleModelMapping\n(\n   MappingTests\n   [\n      test2\n      (\n         query: |model::domain::Target.all()->graphFetchChecked(#{model::domain::Target{name}}#)->serialize(#{model::domain::Target{name}}#);\n         data: [               <Objected, FUNK_UNKNOWN_FORMAT, model::domain::Source, \'{\"oneName\":\"oneName 2\",\"anotherName\":\"anotherName 16\",\"oneDate\":\"2020-02-05\",\"anotherDate\":\"2020-04-13\",\"oneNumber\":24,\"anotherNumber\":29}\'>                   ];\n         assert: \'{\"defects\":[],\"value\":{\"name\":\"oneName 99\"},\"source\":{\"defects\":[],\"value\":{\"oneName\":\"oneName 99\"},\"source\":{\"number\":1,\"record\":\"{\\\"oneName\\\":\\\"oneName 99\\\",\\\"anotherName\\\":\\\"anotherName 17\\\",\\\"oneDate\\\":\\\"2020-04-13\\\",\\\"anotherDate\\\":\\\"2020-02-25\\\",\\\"oneNumber\\\":27,\\\"anotherNumber\\\":28}\"}}}\';\n      )\n   ]\n)\n", "PARSER error at [10:32-227]: Unsupported mapping test input data type \'Objected\'");
return;
}
public void testMappingTestSuites()
{
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping testing::mapping\n(\n  *testing::Person[testing_Person]: Pure\n  {\n    ~src testing::other::NPerson\n    fullName: $src.firstName + \' \' + $src.lastName\n  }\n\n  testSuites:\n  [\n    testSuite1:\n    {\n      doc: \'myDoc\';\n      function: |testing::Person.all()->graphFetch(#{testing::Person{fullName}}#);\n      tests:\n      [\n        test1:\n        {\n          doc: \'my test\';\n      data:\n      [\n        ModelStore: ModelStore\n        #{\n           test::example::model:\n              Reference \n              #{ \n                testMapping::TestData \n              }#\n         }#\n      ];\n          asserts:\n          [\n            assert1:\n              EqualToJson\n              #{\n                expected : \n                  ExternalFormat\n                  #{\n                    contentType: \'application/json\';\n                    data: \'{\"fullName\":[\"john doe\"]\';\n                  }#;\n              }#\n          ];\n        }\n      ];\n    },\n    testSuite2:\n    {\n       function: |testing::Person.all()->graphFetch(#{testing::Person{fullName}}#);\n      doc: \'myDoc\';\n      tests:\n      [\n        test1:\n        {\n          doc: \'my test\';\n          data:\n          [\n            ModelStore: ModelStore\n            #{\n               test::example::model:\n               Reference \n               #{ \n                testMapping::TestData \n               }#\n            }#\n          ];\n          asserts:\n          [\n            assert1:\n            EqualToJson\n              #{\n                expected : \n                  ExternalFormat\n                  #{\n                    contentType: \'application/json\';\n                    data: \'{\"fullName\":[\"john doe\"]\';\n                  }#;\n              }#\n          ];\n        }\n      ];\n    }\n  ]\n)");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping test::modelToModelMapping\n(\n    *test::changedModel: Pure\n{\n    ~src test::model\n    name: $src.name,\n    id: $src.id->parseInteger()\n}\n  testSuites:\n  [\n    testSuite1:\n    {\n      function: |test::changedModel.all()->graphFetch(#{test::changedModel{id,name}}#)->serialize(#{test::changedModel{id,name}}#);\n      tests:\n      [\n        test1:\n        {\n          data:\n          [\n            ModelStore: ModelStore\n            #{\n               test::model:\n                Reference \n                #{ \n                  test::data::MyData\n                }#\n            }#\n          ];\n        }\n      ];\n    }\n  ]\n)", "PARSER error at [17:9-30:9]: Field \'asserts\' is required");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping testing::mapping\n(\n  *testing::Person[testing_Person]: Pure\n  {\n    ~src testing::other::NPerson\n    fullName: $src.firstName + \' \' + $src.lastName\n  }\n\n  testSuites:\n  [\n    testSuite1:\n    {\n      tests:\n      [\n        test1:\n        {\n          asserts:\n          [\n            assert1:\n              EqualToJson\n              #{\n                expected : \n                  ExternalFormat\n                  #{\n                    contentType: \'application/json\';\n                    data: \'{\"fullName\":[\"john doe\"]\';\n                  }#;\n              }#\n          ];\n        }\n      ];\n    }\n  ]\n)", "PARSER error at [12:5-33:5]: Mapping Test Suite requires a query function");
return;
}
public void testPureInstanceClassMapping()
{
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  *anything::goes[anything_goes]: Pure\n  {\n    ~src anything::goes\n    ~src anything::goes\n    ~filter $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n  }\n)\n", "PARSER error at [4:3-9:3]: Field \'~src\' should be specified only once");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  *anything::goes[anything_goes]: Pure\n  {\n    ~filter $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n    ~src anything::goes\n    ~filter $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n  }\n)\n", "PARSER error at [4:3-9:3]: Field \'~filter\' should be specified only once");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  *anything::goes[anything_goes]: Pure\n  {\n    ~src anything::goes\n    ~filter $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n    firstName: $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n    firstName: $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n  }\n)\n", "PARSER error at [9:5-13]: Unexpected token \'firstName\'");
return;
}
public void testPropertyMappingWithoutEndingComma()
{
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  *anything::goes[anything_goes]: Pure\n  {\n    ~src anything::goes\n    ~filter $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n    firstName: $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n    firstName: $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n  }\n)\n", "PARSER error at [9:5-13]: Unexpected token \'firstName\'");
return;
}
public void testUnknownClassMappingType()
{
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  *anything::goes[anything_goes]: Unknown\n  {\n  }\n)\n", "PARSER error at [4:3-6:3]: No parser for Unknown");
return;
}
public void testModelMappingWithLocalProperties()
{
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  *anything::goes[anything_goes]: Pure\n  {\n    ~src anything::goes\n    + firstName : [1] : $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n  }\n)\n", "PARSER error at [7:19]: Unexpected token \'[\'");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  *anything::goes[anything_goes]: Pure\n  {\n    ~src anything::goes\n    + firstName : String : $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n  }\n)\n", "PARSER error at [7:26]: Unexpected token \':\'");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  *anything::goes[anything_goes]: Pure\n  {\n    ~src anything::goes\n    + firstName : $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n  }\n)\n", "PARSER error at [7:19]: Unexpected token");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  *anything::goes[anything_goes]: Pure\n  {\n    ~src anything::goes\n    + firstName : : $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n  }\n)\n", "PARSER error at [7:19]: Unexpected token \':\'");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  *anything::goes[anything_goes]: Pure\n  {\n    ~src anything::goes\n    + firstName : String[1] : $src.fullName->substring(0, $src.fullName->indexOf(\' \'))\n  }\n)\n");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  *anything::goes[anything_goes]: Pure\n  {\n    ~src anything::goes\n    + firstName : String[1] : $src.fullName->substring(0, $src.fullName->indexOf(\' \')),\n    + lastName : String[1] : $src.lastName->substring(0, $src.fullName->indexOf(\' \'))\n  }\n)\n");
return;
}
public void testCrossStoreAssociationMapping()
{
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  mapping::SomeClass: XStore\n  {\n    ~src Something\n  }\n)", "PARSER error at [6:5]: Unexpected token");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  mapping::SomeClass: XStore\n  {\n    +p: String[1]: \'a\'\n  }\n)", "PARSER error at [6:5]: Unexpected token");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  mapping::SomeClass: XStore\n  {\n    p: true\n  }\n)");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  mapping::SomeClass: XStore\n  {\n    p1: true,\n    p2: false\n  }\n)");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  mapping::SomeClass: XStore\n  {\n    p[x, y]: true\n    p[y, x]: false\n  }\n)", "PARSER error at [7:5-6]: Unexpected token \'p2\'");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  mapping::SomeClass: XStore\n  {\n    p[x]: true\n  }\n)", "PARSER error at [6:9]: Unexpected token \']\'");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: void test(java.lang.String,java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  mapping::SomeClass: XStore\n  {\n    p[x, ]: true\n  }\n)", "PARSER error at [6:11]: Unexpected token \']\'");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  mapping::SomeClass: XStore\n  {\n    p[x, y]: true,\n    p[y, x]: false\n  }\n)");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  mapping::SomeClass: XStore\n  {\n    p[x, y]: true,\n    p2: false\n  }\n)");
staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping mapping::test\n(\n  mapping::SomeClass: XStore\n  {\n    p[x, y]: true,\n    p[x, y]: false\n  }\n)");
return;
}
public void testCrossStoreAssociationMappingSourceInformation()
{
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData v;
java.util.stream.Collector v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v, v, v, v, v, v, v, v;
java.util.List v, v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
java.util.stream.Stream v;
java.util.function.Function v, v;
int v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
v = staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping test::crossPropertyMappingWithLocalProperties\n(\n  test::Person[p]: Pure\n  {\n    ~src test::Person\n    +firmId: Integer[1]: 1,\n    name: $src.name\n  }\n  test::Firm[f]: Pure\n  {\n    ~src test::Firm\n    id: $src.id,\n    legalName: $src.legalName\n  }\n\n  test::Firm_Person: XStore\n  {\n    employer[p, f]: $this.firmId == $that.id,\n    employer: $this.firmId == $that.id\n  }\n  test::Firm_Person[p]: XStore\n  {\n    employer[p, f]: $this.firmId == $that.id,\n    employer: $this.firmId == $that.id\n  }\n)\n");
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser$lambda_testCrossStoreAssociationMappingSourceInformation_2__9: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.function.Function: java.util.function.Function identity()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toMap(java.util.function.Function,java.util.function.Function)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("test::crossPropertyMappingWithLocalProperties");
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: int size()>();
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(2L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
staticinvoke <org.junit.Assert: void assertNotNull(java.lang.Object)>(v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
staticinvoke <org.junit.Assert: void assertNotNull(java.lang.Object)>(v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int startLine>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(17L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int endLine>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(21L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int endColumn>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(3L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int startLine>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(22L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int endLine>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(26L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int endColumn>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(3L, v);
return;
}
public void testCrossStoreMappingAssociation()
{
org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData v;
java.util.stream.Collector v;
org.finos.legend.engine.protocol.pure.v.model.SourceInformation v, v, v, v, v, v, v, v;
java.util.List v, v, v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType v, v, v, v;
java.util.stream.Stream v;
java.util.function.Function v, v;
int v, v, v, v, v, v, v;
java.lang.String v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
v = staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData test(java.lang.String)>("###Mapping\nMapping test::crossPropertyMappingWithLocalProperties\n(\n  test::Person[p]: Pure\n  {\n    ~src test::Person\n    +firmId: Integer[1]: 1,\n    name: $src.name\n  }\n  test::Firm[f]: Pure\n  {\n    ~src test::Firm\n    id: $src.id,\n    legalName: $src.legalName\n  }\n\n  test::Firm_Person: XStore\n  {\n    employer[p, f]: $this.firmId == $that.id,\n    employer: $this.firmId == $that.id\n  }\n  test::Firm_Person[p]: XStore\n  {\n    employer[p, f]: $this.firmId == $that.id,\n    employer: $this.firmId == $that.id\n  }\n)\n");
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser$lambda_testCrossStoreMappingAssociation_3__10: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.function.Function: java.util.function.Function identity()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toMap(java.util.function.Function,java.util.function.Function)>(v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("test::crossPropertyMappingWithLocalProperties");
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: int size()>();
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(2L, v);
v = <org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType ASSOCIATION>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer association>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType type>;
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType ASSOCIATION>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer association>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementType type>;
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer association>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: java.lang.String path>;
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>("test::Firm_Person", v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer association>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
staticinvoke <org.junit.Assert: void assertNotNull(java.lang.Object)>(v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer association>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
staticinvoke <org.junit.Assert: void assertNotNull(java.lang.Object)>(v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer association>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int startLine>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(17L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer association>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int endLine>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(17L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer association>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int endColumn>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(19L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer association>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int startLine>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(22L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer association>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int endLine>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(22L, v);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.Mapping: java.util.List associationMappings>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.mapping.AssociationMapping: org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer association>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.context.PackageableElementPointer: org.finos.legend.engine.protocol.pure.v.model.SourceInformation sourceInformation>;
v = v.<org.finos.legend.engine.protocol.pure.v.model.SourceInformation: int endColumn>;
staticinvoke <org.junit.Assert: void assertEquals(long,long)>(19L, v);
return;
}
public void testLatestMultiplicity()
{
org.finos.legend.engine.language.pure.grammar.'from'.PureGrammarParser v;
java.lang.Integer v;
java.util.List v, v, v, v;
org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser v;
org.eclipse.collections.api.block.function.Function v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData v;
java.lang.Object v, v, v, v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.domain.Multiplicity v;
boolean v;
v := @this: org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser;
v = staticinvoke <org.finos.legend.engine.language.pure.grammar.'from'.PureGrammarParser: org.finos.legend.engine.language.pure.grammar.'from'.PureGrammarParser newInstance()>();
v = virtualinvoke v.<org.finos.legend.engine.language.pure.grammar.'from'.PureGrammarParser: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData parseModel(java.lang.String)>("import test::*;\nClass test::A\n{\n  stringProperty: String[1];\n  latestProduct(){\n         $this.stringProperty(%latest)\n   }:String[*];\n}\n");
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData: java.util.List getElementsOfType(java.lang.Class)>(class "Lorg/finos/legend/engine/protocol/pure/v1/model/packageableElement/domain/Class;");
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.domain.Class: java.util.List qualifiedProperties>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.domain.QualifiedProperty: java.util.List body>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.application.AppliedProperty: java.util.List parameters>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = v.<org.finos.legend.engine.protocol.pure.v.model.valueSpecification.raw.CLatestDate: org.finos.legend.engine.protocol.pure.v.model.packageableElement.domain.Multiplicity multiplicity>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1);
v = virtualinvoke v.<org.finos.legend.engine.protocol.pure.v.model.packageableElement.domain.Multiplicity: boolean isUpperBoundEqualTo(java.lang.Integer)>(v);
v = staticinvoke <org.finos.legend.engine.language.pure.grammar.test.parser.TestMappingGrammarParser$lambda_testLatestMultiplicity_b486c5ba_1__11: org.eclipse.collections.api.block.function.Function bootstrap$()>();
staticinvoke <org.finos.legend.engine.shared.core.operational.Assert: void assertTrue(boolean,org.eclipse.collections.api.block.function.Function)>(v, v);
return;
}
}