Ejemplo n.º 1
0
        public static OdcmProperty ComplexOdcmProperty(OdcmNamespace odcmNamespace, Action <OdcmProperty> config = null)
        {
            var retVal = new OdcmProperty(Any.CSharpIdentifier())
            {
                Type = Any.ComplexOdcmClass(odcmNamespace)
            };


            if (config != null)
            {
                config(retVal);
            }

            return(retVal);
        }
Ejemplo n.º 2
0
        public static OdcmNamespace OdcmNamespace(Action <OdcmNamespace> config = null)
        {
            var retVal = new OdcmNamespace(Any.CSharpIdentifier());

            retVal.Types.AddRange(Any.Sequence(s => Any.OdcmEnum()));

            retVal.Types.AddRange(Any.Sequence(s => Any.ComplexOdcmClass(retVal)));

            var classes = Any.Sequence(s => Any.OdcmEntityClass(retVal))
                          .Concat(Any.Sequence(s => Any.MediaOdcmClass(retVal), count: 2)).ToArray();

            foreach (var @class in (from @class in retVal.Types where @class is OdcmEntityClass select @class as OdcmEntityClass))
            {
                @class.Properties.AddRange(Any.Sequence(i => Any.OdcmProperty(p =>
                {
                    p.Class = @class;
                    p.Type  = classes.RandomElement();
                })));
            }
            foreach (var @class in classes)
            {
                @class.Properties.AddRange(Any.Sequence(i => Any.OdcmProperty(p =>
                {
                    p.Class = @class;
                    p.Type  = classes.RandomElement();
                })));
            }

            classes[0].Base = classes[1];

            if (!classes[1].Derived.Contains(classes[0]))
            {
                classes[1].Derived.Add(classes[0]);
            }

            retVal.Types.AddRange(classes);

            if (config != null)
            {
                config(retVal);
            }

            return(retVal);
        }