private static string GetRunFile_FullTemplate() { Config config = new Config(); FileSpecConfig fileSpecConfig = new FileSpecConfig(); config.FileSpecs.Add(fileSpecConfig); FieldSpecConfig fieldSpecConfig = new FieldSpecConfig(); fieldSpecConfig.NumericDistribution = new DistributionConfig(); fieldSpecConfig.Categories.Add(new Category() { Value = "Category 1", Weight = 0.25 }); fieldSpecConfig.Categories.Add(new Category() { Value = "Category 2", Weight = 0.75 }); fileSpecConfig.FieldSpecs.Add(fieldSpecConfig); JsonSerializerSettings settings = new JsonSerializerSettings(); settings.DefaultValueHandling = DefaultValueHandling.Include; return(JsonConvert.SerializeObject(config, settings)); }
private static string GetRunFile_Delimited_DateRange() { Config config = new Config(); // Generator config.Generator.OutputFolderRoot = @"d:\temp\"; config.Generator.DateStart = new DateTime(2017, 1, 1); config.Generator.DateEnd = new DateTime(2017, 3, 31); // File Spec FileSpecConfig fileSpecConfig = new FileSpecConfig() { FileType = "Delimited", RecordsPerFileMin = 100, RecordsPerFileMax = 200, PathSpec = @"{yyyy}\{MM}\{dd}\{hh}{mm}{ss}.txt", FieldNameForLoopDateTime = "EventDateTime", IncludeHeaderRow = true, Delimiter = "|", Encloser = "'", EncodingName = "UTF8" }; config.FileSpecs.Add(fileSpecConfig); // Field Specs FieldSpecConfig fieldSpecConfig1 = new FieldSpecConfig() { FieldType = ConfigValues.FIELDTYPE_CONTINUOUSNUMERIC, Name = "Id", EnforceUniqueValues = false, MaxDigitsAfterDecimalPoint = 0, NumericDistribution = new DistributionConfig() { DistributionName = ConfigValues.DISTRIBUTION_INCREMENTING, Seed = 1000000, Increment = 1 } }; fileSpecConfig.FieldSpecs.Add(fieldSpecConfig1); FieldSpecConfig fieldSpecConfig2a = new FieldSpecConfig() { FieldType = ConfigValues.FIELDTYPE_CONTINUOUSNUMERIC, Name = "Qty", EnforceUniqueValues = false, FormatString = "{0:" + pelazem.util.Constants.FORMAT_NUM_0 + "}", MaxDigitsAfterDecimalPoint = 0, NumericDistribution = new DistributionConfig() { DistributionName = ConfigValues.DISTRIBUTION_NORMAL, Mean = 80, StandardDeviation = 35 } }; fileSpecConfig.FieldSpecs.Add(fieldSpecConfig2a); FieldSpecConfig fieldSpecConfig2b = new FieldSpecConfig() { FieldType = ConfigValues.FIELDTYPE_CONTINUOUSNUMERIC, Name = "UnitPrice", EnforceUniqueValues = false, FormatString = "{0:" + pelazem.util.Constants.FORMAT_CURRENCY + "}", MaxDigitsAfterDecimalPoint = 2, NumericDistribution = new DistributionConfig() { DistributionName = ConfigValues.DISTRIBUTION_UNIFORM, Min = 0.15, Max = 149.99 } }; fileSpecConfig.FieldSpecs.Add(fieldSpecConfig2b); FieldSpecConfig fieldSpecConfig3 = new FieldSpecConfig() { FieldType = ConfigValues.FIELDTYPE_CATEGORICAL, Name = "DayOfWeek", EnforceUniqueValues = false }; fieldSpecConfig3.Categories.AddRange ( new List <Category>() { new Category { Value = "Monday", Weight = 0 }, new Category { Value = "Tuesday", Weight = 0 }, new Category { Value = "Wednesday", Weight = 0 }, new Category { Value = "Thursday", Weight = 0 }, new Category { Value = "Friday", Weight = 0 }, new Category { Value = "Saturday", Weight = 0 }, new Category { Value = "Sunday", Weight = 0 } } ); fileSpecConfig.FieldSpecs.Add(fieldSpecConfig3); FieldSpecConfig fieldSpecConfig4 = new FieldSpecConfig() { FieldType = ConfigValues.FIELDTYPE_DYNAMIC, Name = "Guid", DynamicFunc = "() => Guid.NewGuid().ToString()" }; fileSpecConfig.FieldSpecs.Add(fieldSpecConfig4); FieldSpecConfig fieldSpecConfig5 = new FieldSpecConfig() { FieldType = ConfigValues.FIELDTYPE_DYNAMIC, Name = "EventDateTime", DynamicFunc = null, FormatString = "{0:yyyy-MM-ddTHH:mm:ssK}" }; fileSpecConfig.FieldSpecs.Add(fieldSpecConfig5); return(JsonConvert.SerializeObject(config)); }
private static string GetRunFile_FixedWidth_DateRange() { Config config = new Config(); // Generator config.Generator.OutputFolderRoot = @"d:\temp\"; // File Spec FileSpecConfig fileSpecConfig = new FileSpecConfig() { FileType = "FixedWidth", RecordsPerFileMin = 300, RecordsPerFileMax = 400, PathSpec = @"{yyyy}-{mm}-{dd}-{hh}.txt", FieldNameForLoopDateTime = "EventDateTime", IncludeHeaderRow = false, Delimiter = "|", Encloser = "'", EncodingName = "ASCII", FixedWidthPaddingChar = ' ', FixedWidthAddPadding = "AtStart", FixedWidthTruncate = "AtEnd" }; config.FileSpecs.Add(fileSpecConfig); // Field Specs FieldSpecConfig fieldSpecConfig1 = new FieldSpecConfig() { FieldType = ConfigValues.FIELDTYPE_CONTINUOUSNUMERIC, Name = "Id", EnforceUniqueValues = false, MaxDigitsAfterDecimalPoint = 0, NumericDistribution = new DistributionConfig() { DistributionName = ConfigValues.DISTRIBUTION_INCREMENTING, Seed = 1000000, Increment = 1 } }; fileSpecConfig.FieldSpecs.Add(fieldSpecConfig1); FieldSpecConfig fieldSpecConfig2a = new FieldSpecConfig() { FieldType = ConfigValues.FIELDTYPE_CONTINUOUSNUMERIC, Name = "Qty", EnforceUniqueValues = false, FormatString = "{0:" + pelazem.util.Constants.FORMAT_NUM_0 + "}", MaxDigitsAfterDecimalPoint = 0, NumericDistribution = new DistributionConfig() { DistributionName = ConfigValues.DISTRIBUTION_NORMAL, Mean = 800, StandardDeviation = 350 } }; fileSpecConfig.FieldSpecs.Add(fieldSpecConfig2a); FieldSpecConfig fieldSpecConfig2b = new FieldSpecConfig() { FieldType = ConfigValues.FIELDTYPE_CONTINUOUSNUMERIC, Name = "UnitPrice", EnforceUniqueValues = false, FormatString = "{0:" + pelazem.util.Constants.FORMAT_CURRENCY + "}", MaxDigitsAfterDecimalPoint = 2, NumericDistribution = new DistributionConfig() { DistributionName = ConfigValues.DISTRIBUTION_UNIFORM, Min = 123.45, Max = 180000.66 } }; fileSpecConfig.FieldSpecs.Add(fieldSpecConfig2b); FieldSpecConfig fieldSpecConfig3 = new FieldSpecConfig() { FieldType = ConfigValues.FIELDTYPE_CATEGORICAL, Name = "DayOfWeek", EnforceUniqueValues = false }; fieldSpecConfig3.Categories.AddRange ( new List <Category>() { new Category { Value = "Carbon", Weight = 6 }, new Category { Value = "Nitrogen", Weight = 5 }, new Category { Value = "Oxygen", Weight = 8 }, new Category { Value = "Aluminum", Weight = 0.1 }, new Category { Value = "Gold", Weight = 0.01 }, new Category { Value = "Plutonium", Weight = 0.1 } } ); fileSpecConfig.FieldSpecs.Add(fieldSpecConfig3); FieldSpecConfig fieldSpecConfig4 = new FieldSpecConfig() { FieldType = ConfigValues.FIELDTYPE_DYNAMIC, Name = "Guid", DynamicFunc = "() => Guid.NewGuid().ToString()" }; fileSpecConfig.FieldSpecs.Add(fieldSpecConfig4); FieldSpecConfig fieldSpecConfig5 = new FieldSpecConfig() { FieldType = ConfigValues.FIELDTYPE_DYNAMIC, Name = "EventDateTime", DynamicFunc = null, FormatString = "{0:yyyy-MM-ddTHH:mm:ssK}" }; fileSpecConfig.FieldSpecs.Add(fieldSpecConfig5); return(JsonConvert.SerializeObject(config)); }