Пример #1
0
        //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());
        }
Пример #2
0
        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());
        }
Пример #3
0
        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());
        }
Пример #4
0
        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());
        }
Пример #5
0
        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);
        }