コード例 #1
0
        public IEnumerable <GeneratedObject> GenerateMany(ConfigurablePrototype prototype, int count, ICollection <DatasetPrototype> datasetPrototypes)
        {
            if (count < 0)
            {
                throw new NegativeCountObjectsException();
            }

            var generatedObjectsCollection = new List <GeneratedObject>();

            for (int i = 0; i < count; i++)
            {
                generatedObjectsCollection.Add(Generate(prototype, datasetPrototypes));
            }

            return(generatedObjectsCollection);
        }
コード例 #2
0
        public GeneratedObject Generate(ConfigurablePrototype prototype, ICollection <DatasetPrototype> datasetPrototypes = null)
        {
            var generatedObject = new GeneratedObject(prototype.Name);

            foreach (var fieldPrototype in prototype.Fields)
            {
                var datasetPrototype = datasetPrototypes?.FirstOrDefault(d => d.Id == fieldPrototype.DatasetId);
                var fieldValue       = !fieldPrototype.IsRequired && _random.Next(2) == 1
                    ? null
                    : _fieldsGenerator.Generate(fieldPrototype.Type, fieldPrototype.Constraints, datasetPrototype);

                generatedObject.Fields.Add(new GeneratedField(fieldPrototype.Name, fieldValue));
            }

            return(generatedObject);
        }