Exemplo n.º 1
0
        private NameValueObject CreateFromPropertyObject(PropertyObject propertyObject)
        {
            if (propertyObject.Property.Type == TemplateType.Object)
            {
                return(CreateFromObjectTemplate(propertyObject));
            }
            if (propertyObject.Property.Type == TemplateType.Array)
            {
                int count = _randomFactory.GetArraySize(propertyObject);

                var arrayOfValues = new List <NameValueObject>();

                if (propertyObject.Property.Pattern !.IsInExistingTemplates())
                {
                    var newPropertyObject = PropertyObject.CreateWithTypeAndPattern(
                        propertyObject,
                        propertyObject.Property.Pattern !,
                        propertyObject.Property.SubTypePattern);

                    for (int i = 0; i < count; i++)
                    {
                        arrayOfValues.Add(CreateValue(newPropertyObject));
                    }
                }
                else
                {
                    for (int i = 0; i < count; i++)
                    {
                        arrayOfValues.Add(CreateFromObjectTemplate(propertyObject));
                    }
                }

                return(new NameValueObject(propertyObject.Property.Name, arrayOfValues));
            }