Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
 public GenSegmentParams(GenDataDef genDataDef, GenContainerFragmentBase parentContainer, string className, GenCardinality cardinality, bool isPrimary = true)
     : base(genDataDef, parentContainer, isPrimary: isPrimary)
 {
     _className   = className;
     _cardinality = cardinality;
 }