public void GenLookupContextTest() { var d = SetUpLookupContextData(); var f = d.GenDataDef; var r = new GenProfileFragment(new GenProfileParams(GenData.GenDataDef)); var b = new GenBlock(new GenFragmentParams(f, r)); var p0 = new GenPlaceholderFragment(new GenPlaceholderFragmentParams(f, b, f.GetId("Parent.Name"))); var t0 = new GenTextFragment(new GenTextFragmentParams(f, b, ",")); b.Body.Add(p0); b.Body.Add(t0); var g = new GenLookup(new GenLookupParams(f, b, "Lookup.Name=Child.Lookup")); var p1 = new GenPlaceholderFragment(new GenPlaceholderFragmentParams(f, g, f.GetId("Lookup.Name"))); var t1 = new GenTextFragment(new GenTextFragmentParams(f, g, ",")); Assert.IsFalse(g.NoMatch); b.Body.Add(g); g.Body.Add(p1); g.Body.Add(t1); var parent = GenObject.GetContext(d.Root, "Parent"); var child = GetFirstObjectOfSubClass(parent, "Child"); b.GenObject = child; VerifyFragment(d, b, "GenBlock", FragmentType.Block, "Block", "`{`Parent.Name`,`%Lookup.Name=Child.Lookup:`Lookup.Name`,`]`]", "Parent,Valid,", false, null, r.Profile.GenDataBase.GenDataDef); child = GetLastObjectInSubClass(child); b.GenObject = child; VerifyFragment(d, b, "GenBlock", FragmentType.Block, "Block", "`{`Parent.Name`,`%Lookup.Name=Child.Lookup:`Lookup.Name`,`]`]", "Parent,", false, null, r.Profile.GenDataBase.GenDataDef); }
public void GenLookupMatchTest() { var d = SetUpLookupData(); var f = d.GenDataDef; var r = new GenProfileFragment(new GenProfileParams(GenData.GenDataDef)); var g = new GenLookup(new GenLookupParams(f, r, "Class.Name=SubClass.Name")); var p = new GenPlaceholderFragment(new GenPlaceholderFragmentParams(f, g, f.GetId("Class.Name"))); var t = new GenTextFragment(new GenTextFragmentParams(d.GenDataDef, g, ",")); g.Body.Add(p); g.Body.Add(t); Assert.IsFalse(g.NoMatch); var c = GetLastObjectInSubClass(GetFirstObject(d)); // Has no subclasses var s = GetFirstObjectOfSubClass(c, "SubClass"); g.GenObject = s; VerifyFragment(d, g, "GenLookup", FragmentType.Lookup, "Class.Name=SubClass.Name", "`%Class.Name=SubClass.Name:`Class.Name`,`]", "", false, null, r.Profile.GenDataBase.GenDataDef); c = GetFirstObject(d); // Has subclasses s = GetFirstObjectOfSubClass(c, "SubClass"); g.GenObject = s; //d.Context[SubClassClassId].GenObject; VerifyFragment(d, g, "GenLookup", FragmentType.Lookup, "Class.Name=SubClass.Name", "`%Class.Name=SubClass.Name:`Class.Name`,`]", "SubClass,", false, null, r.Profile.GenDataBase.GenDataDef); }
public void GenPlaceholderTest() { var r = new GenProfileFragment(new GenProfileParams(GenData.GenDataDef)); var g = new GenPlaceholderFragment(new GenPlaceholderFragmentParams(GenDataDef, r, GenDataDef.GetId("Property.Name"))); g.GenObject = GetNextObjectInSubClass(GetFirstObjectOfSubClass(GetFirstObject(GenData), "Property")); VerifyFragment(GenData, g, "GenPlaceholderFragment", FragmentType.Placeholder, "Property.Name", "`Property.Name`", "Property2", true, null, r.Profile.GenDataBase.GenDataDef); }
public void GenAnnotationTest() { var r = new GenProfileFragment(new GenProfileParams(GenData.GenDataDef)); var g = new GenAnnotation(new GenFragmentParams(GenDataDef, r)); r.Body.Add(g); var p = new GenPlaceholderFragment(new GenPlaceholderFragmentParams(GenDataDef, g, GenDataDef.GetId("Property.Name"))); var t = new GenTextFragment(new GenTextFragmentParams(GenData.GenDataDef, g, ",")); g.Body.Add(p); g.Body.Add(t); VerifyFragment(GenData, g, "GenAnnotation", FragmentType.Annotation, "Annotation", "`-`Property.Name`,`]", "", false, null, r.Profile.GenDataBase.GenDataDef); }
public void GenBlockTest() { var r = new GenProfileFragment(new GenProfileParams(GenData.GenDataDef)); var g = new GenBlock(new GenFragmentParams(GenDataDef, r)); r.Body.Add(g); var p = new GenPlaceholderFragment(new GenPlaceholderFragmentParams(GenDataDef, g, GenDataDef.GetId("Property.Name"))); var t = new GenTextFragment(new GenTextFragmentParams(GenData.GenDataDef, g, ",")); g.Body.Add(p); g.Body.Add(t); g.GenObject = GetNextObjectInSubClass(GetFirstObjectOfSubClass(GetFirstObject(GenData), "Property")); VerifyFragment(GenData, g, "GenBlock", FragmentType.Block, "Block", "`{`Property.Name`,`]", "Property2,", false, null, r.Profile.GenDataBase.GenDataDef); }