public static void Main()
GenerateData generateData = new GenerateData();
RunningNumberGenerator runningNumberGenerator = new RunningNumberGenerator();
runningNumberGenerator.Init(null, seed: 1337);
generateData.AddGeneratorToChain(runningNumberGenerator);
NameGenerator nameGenerator = new NameGenerator();
nameGenerator.Init(null, seed: 1337);
generateData.AddGeneratorToChain(nameGenerator);
(string name, IDataGenerator generator, Type wantedOutput, MutatorChain mutatorChain, object stepParameter) wantedNumberElement = ("Id", runningNumberGenerator, typeof(int), null, null);
generateData.AddWantedElement(wantedNumberElement);
(string name, IDataGenerator generator, Type wantedOutput, MutatorChain mutatorChain, object stepParameter) wantedFirstNameElement = ("Firstname", nameGenerator, typeof(string), null, "firstname");
generateData.AddWantedElement(wantedFirstNameElement);
(string name, IDataGenerator generator, Type wantedOutput, MutatorChain mutatorChain, object stepParameter) wantedLastNameElement = ("LastName", nameGenerator, typeof(string), null, "lastname");
generateData.AddWantedElement(wantedLastNameElement);
SomeSeparatedValueOutput outCSV = new SomeSeparatedValueOutput();
generateData.output = outCSV;
MemoryStream ms = new MemoryStream();
generateData.Generate(ms);
string result = Encoding.UTF8.GetString(ms.ToArray());
Console.WriteLine(result);