public string GenerateCode(ConcatComponent node, string newLine) { if (newLine == null) return "concat [ " + string.Join(" ; ", node.Select(n => GenerateCode(n, null))) + " ]"; return "concat [ " + newLine + string.Join(" ; ", node.Select(n => GenerateCode(n, newLine + " "))) + " ]"; }
public void ConcatComponentTest() { var cancat = new ConcatComponent { new NodeComponent { new Branch {Name = "b1", Tree = new LeafComponent {Fun = "totalAmount"}}, }, new NodeComponent { new Branch {Name = "b2", Tree = new LeafComponent {Fun = "totalAmount"}}, } }; var code = _generator.GenerateCode(cancat, null); code.Should().Be("concat [ Node [ (\"b1\", Leaf totalAmount) ] ; Node [ (\"b2\", Leaf totalAmount) ] ]"); }