Exemple #1
0
        public void TwoGeneratorTest()
        {
            // Arrange
            string expectedOutput = string.Join(Environment.NewLine, new string[] {
                "Id,Firstname,Lastname",
                "0,Jacob,Smith",
                "1,Sophia,Johnson",
                "2,Mason,Williams",
                "3,Isabella,Brown",
                "4,William,Jones",
                "5,Emma,Garcia",
                "6,Jayden,Miller",
                "7,Olivia,Davis",
                "8,Noah,Rodriguez",
                "9,Ava,Martinez",
                ""                 // Newline
            });

            GenerateData           generateData           = new GenerateData();
            RunningNumberGenerator runningNumberGenerator = new RunningNumberGenerator();

            generateData.AddGeneratorToChain(runningNumberGenerator);

            NameGenerator nameGenerator = new NameGenerator();

            nameGenerator.Init(null, seed: 1337);
            generateData.AddGeneratorToChain(nameGenerator);

            generateData.AddWantedElement(("Id", runningNumberGenerator, null, typeof(int), null));
            generateData.AddWantedElement(("Firstname", nameGenerator, "firstname", typeof(string), null));
            generateData.AddWantedElement(("Lastname", nameGenerator, "lastname", typeof(string), null));

            SomeSeparatedValueOutput outCSV = new SomeSeparatedValueOutput();

            generateData.output = outCSV;

            MemoryStream ms = new MemoryStream();

            // Act
            generateData.Generate(ms);
            string result = Encoding.UTF8.GetString(ms.ToArray());

            // Assert
            Assert.AreEqual(expectedOutput, result);
        }
        public void SimpleGeneratorSerializationTest()
        {
            // Arrange
            GenerateData           generateData           = new GenerateData();
            RunningNumberGenerator runningNumberGenerator = new RunningNumberGenerator();

            generateData.AddGeneratorToChain(runningNumberGenerator);

            generateData.AddWantedElement(("Id", runningNumberGenerator, typeof(int), null, null));

            SomeSeparatedValueOutput outCSV = new SomeSeparatedValueOutput();

            generateData.output = outCSV;

            string expected = $"DATAGEN VERSION 1{Environment.NewLine}DATA GENERATORS:{Environment.NewLine}1 RUN~~0{Environment.NewLine}MUTATOR CHAINS:{Environment.NewLine}WANTED ELEMENTS:{Environment.NewLine}-Id~1~_{Environment.NewLine}OUTPUTTER:{Environment.NewLine}XSV~{Environment.NewLine}";

            // Act
            string serialized = generateData.Save();

            // Assert
            Assert.AreEqual(expected, serialized);
        }
Exemple #3
0
        public void SimpleSmokeTest()
        {
            // Arrange
            string expectedOutput = string.Join(Environment.NewLine, new string[] {
                "Id",
                "0",
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "8",
                "9",
                ""                 // Newline
            });

            GenerateData           generateData           = new GenerateData();
            RunningNumberGenerator runningNumberGenerator = new RunningNumberGenerator();

            generateData.AddGeneratorToChain(runningNumberGenerator);

            generateData.AddWantedElement(("Id", runningNumberGenerator, typeof(int), null, null));

            SomeSeparatedValueOutput outCSV = new SomeSeparatedValueOutput();

            generateData.output = outCSV;

            MemoryStream ms = new MemoryStream();

            // Act
            generateData.Generate(ms);
            string result = Encoding.UTF8.GetString(ms.ToArray());

            // Assert
            Assert.AreEqual(expectedOutput, result);
        }
        public void TsvSmokeTest()
        {
            // Arrange
            SomeSeparatedValueOutput tsvOutput = new SomeSeparatedValueOutput();
            MemoryStream             ms        = new MemoryStream();
            string        parameter            = "tsv";
            List <object> headers = new List <object> {
                "one", "two", "three"
            };
            List <object> values = new List <object> {
                1, 2, 3
            };
            string expectedOutput = $"one\ttwo\tthree{newLine}1\t2\t3{newLine}";

            // Act
            (bool initSuccess, string possibleInitError) = tsvOutput.Init(parameter, ms);
            (bool writeHeaderSuccess, string possibleWriteHeaderError) = tsvOutput.WriteHeader(headers);
            (bool writeSingleSuccess, string possibleWriteSingleError) = tsvOutput.WriteSingleEntry(values);
            (bool writeFooterSuccess, string possibleWriteFooterError) = tsvOutput.WriteFooter(null);

            string result = Encoding.UTF8.GetString(ms.ToArray());

            // Assert
            Assert.IsTrue(initSuccess, "Init should have succeeded");
            Assert.IsTrue(string.IsNullOrEmpty(possibleInitError), "There should not be init error");

            Assert.IsTrue(writeHeaderSuccess, "Header write should have succeeded");
            Assert.IsTrue(string.IsNullOrEmpty(possibleWriteHeaderError), "There should not be write header error");

            Assert.IsTrue(writeSingleSuccess, "Single entry write should have succeeded");
            Assert.IsTrue(string.IsNullOrEmpty(possibleWriteSingleError), "There should not be single entry write error");

            Assert.IsTrue(writeFooterSuccess, "Footer write should have succeeded");
            Assert.IsTrue(string.IsNullOrEmpty(possibleWriteFooterError), "There should not be write footer error");

            Assert.AreEqual(expectedOutput, result);
        }