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