public void GenSegmentTest(string cardinalityText, GenCardinality genCardinality, string expected) { var cardinality = GenCardinality.All; var dictionary = ProfileFragmentSyntaxDictionary.ActiveProfileFragmentSyntaxDictionary; if (cardinalityText != "") { for (var i = 0; i < dictionary.GenCardinalityText.Length; i++) { if (cardinalityText != dictionary.GenCardinalityText[i]) { continue; } cardinality = (GenCardinality)i; break; } } var profile = "`[Property" + dictionary.GenCardinalityText[(int)cardinality] + ":`Property.Name`" + ((cardinality == GenCardinality.AllDlm || cardinality == GenCardinality.BackDlm) ? "`;" : "") + ",`]"; var p = new GenCompactProfileParser(GenData.GenDataDef, "", "`[Class':" + profile + "`]"); var g = (GenSegment)((GenSegment)p.Body.Fragment[0]).Body.Fragment[0]; g.GenObject = GetFirstObject(GenData); Assert.AreEqual(genCardinality.ToString(), ((Segment)g.Fragment).Cardinality); Assert.AreEqual("Property", g.Definition.Name); VerifyFragment(GenData, g, "GenSegment", FragmentType.Segment, "Property", profile, expected, false, null, p.Profile.GenDataBase.GenDataDef); }
private static GenSegment SetUpSegmentSeparatorFragment(GenDataBase d, GenCardinality cardinality) { var profile = "`[TestData" + (cardinality == GenCardinality.AllDlm ? "/" : "\\") + ":`?TestData.Display:`TestData.Name``]`;, `]"; var p = new GenCompactProfileParser(d.GenDataDef, "", profile); var g = (GenSegment)p.Body.Fragment[0]; return(g); }
/// <summary> /// Verifies the expansion and generation of segments with empty items /// </summary> /// <param name="display">Which items are to display.</param> /// <param name="expected">The expected output.</param> /// <param name="cardinality">The segement cardinality being output.</param> protected static void VerifySegmentSeparator(string display, string expected, GenCardinality cardinality) { var d = SetUpSegmentSeparatorData(display); var g = SetUpSegmentSeparatorFragment(d, cardinality); g.GenObject = d.Root; Assert.AreEqual(expected, GenFragmentExpander.Expand(d.GenDataDef, ((GenFragment)g).GenObject, g.Fragment)); var str = GenerateFragment(d, g); Assert.AreEqual(expected, str); }
public GenSegmentParams(GenDataDef genDataDef, GenContainerFragmentBase parentContainer, string className, GenCardinality cardinality, bool isPrimary = true) : base(genDataDef, parentContainer, isPrimary: isPrimary) { _className = className; _cardinality = cardinality; }