public Script GenerateTableScript(Table table)
        {
            MemoryStream memoryStream = new MemoryStream();

            using (StreamWriter streamWriter = new StreamWriter(memoryStream, Encoding.Unicode, 4096, true))
            {
                streamWriter.AutoFlush = true;
                foreach (var tableRecord in table.Records)
                {
                    streamWriter.Write(_queryMaker.GenerateQuery(tableRecord));
                }
            }

            memoryStream.Position = 0;
            return(new Script(table.Name, memoryStream));
        }
Esempio n. 2
0
        public void CanGenerateScripts()
        {
            IQueryMaker queryMakerSubstitute = Substitute.For <IQueryMaker>();

            queryMakerSubstitute.GenerateQuery(Arg.Any <ExcelToSQLScripts.Models.Record>()).Returns("random string\n");

            TableScriptGenerator tableScriptGenerator = new TableScriptGenerator(queryMakerSubstitute);

            Table table = Utils.GetTable(2);

            using (Script script = tableScriptGenerator.GenerateTableScript(table))
            {
                script.Name.Should().Be("Employees");
                script.Content.Should().NotBeNull();

                StreamReader streamReader = new StreamReader(script.Content);
                string       content      = streamReader.ReadToEnd();

                content.Should().Be("random string\nrandom string\n");
            }
        }