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.ComplexOdcmType(retVal))); var classes = Any.Sequence(s => Any.EntityOdcmClass(retVal)).ToArray(); 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]; retVal.Types.AddRange(classes); if (config != null) { config(retVal); } return(retVal); }
public static object ComplexOdcmField(OdcmNamespace odcmNamespace, Action <OdcmField> config = null) { var retVal = new OdcmField(Any.CSharpIdentifier()) { Type = Any.ComplexOdcmType(odcmNamespace) }; if (config != null) { config(retVal); } return(retVal); }
public static OdcmProperty ComplexOdcmProperty(OdcmNamespace odcmNamespace, Action <OdcmProperty> config = null) { var retVal = new OdcmProperty(Any.CSharpIdentifier()) { Type = Any.ComplexOdcmType(odcmNamespace) }; if (config != null) { config(retVal); } return(retVal); }