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); }
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); }