//usings // //namespace Collector223.ApiConnector.Tests //{ // [TestFixture] // public class SenderTests // { public string Generate(WordBlock block) { var result = new StringBuilder(); var classpath = block.Lines[0].Words[2].Text; var lines = File.ReadAllLines(classpath); var classspace = string.Empty; foreach (var line in lines) { var formed = line.Trim().ToLowerInvariant(); if (formed.StartsWith("using")) { result.Append(line).Append("\n"); } if (formed.StartsWith("namespace")) { classspace = line.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)[1]; } } var classname = block.Lines[0].Words[1].Text; result.Append(string.Format("\nnamespace {0}.Tests\n{{\n\t[TestFixture]\n\tpublic class {1}Tests\n\t{{", classspace, classname)); return(result.ToString()); }
public static string ProcessLines(this WordBlock block, string tab = "\t\t\t") { var result = new StringBuilder(); // lets make body foreach (var line in block.Lines.Skip(1)) { result.Append(tab); foreach (var word in line.Words) { if (word.Processed) { continue; } var txt = word.GetPlain(); if (Generator.InlineGenerators.ContainsKey(txt)) { result.Append(Generator.InlineGenerators[txt].Generate(word)); } } result.Append(";\n"); } // in case nothing - newline if (block.Lines.Count < 2) { result.Append("\n"); } return(result.ToString()); }
public string Generate(WordBlock block) { var result = new StringBuilder(); result.Append("\n\t\t[SetUp]\n\t\tpublic void SetUp()\n\t\t{"); result.Append(block.ProcessLines()); // generate footer result.Append("\t\t}\n"); return(result.ToString()); }
public string Generate(WordBlock block) { var result = new StringBuilder(); // generate header result.Append("\n\t\t[Test]\n\t\tpublic void "); // get test name var testName = block.Lines[0].Words[1]; result.Append(testName.Text); // continue header result.Append("()\n\t\t{\n\t\t\tusing (var mock = AutoMock.GetLoose())\n\t\t\t{\n"); result.Append(block.ProcessLines("\t\t\t\t")); result.Append("\t\t\t}\n"); // generate footer result.Append("\t\t}\n"); return(result.ToString()); }
private void CombineBlock(WordDock dock, string txt) { var lines = GetLines(txt); var block = new WordBlock { Text = txt, Lines = lines }; // force deep dependency (helps a lot with inline generators) foreach (var line in lines) { foreach (var word in line.Words) { word.Line = line; word.Block = block; word.Dock = dock; } } dock.Blocks.Add(block); }