public void TestToText() {
            QueryResults results = new QueryResults();
            results.Messages = 
@"1

2

";

            ResultSet first = new ResultSet();
            first.MessagePosition = 0;
            first.Columns.Add(new ResultColumnInfo() {Name =  "a"});
            first.Rows.Add(new List<object>() { "xxx" });

            ResultSet second = new ResultSet();
            second.MessagePosition = 4;
            second.Columns.Add(new ResultColumnInfo() {Name =  "hello"});
            second.Rows.Add(new List<object>() { "x" });

            results.ResultSets.Add(first);
            results.ResultSets.Add(second);

            var transformed = results.ToTextResults(); 

            Assert.AreEqual(true, transformed.TextOnly);

            var expected = @"a
---
xxx

1
hello
-----
x


2

";

            var actual = string.Join("\r\n", transformed.Messages.Split('\n').Select(s => s.Trim()));


            Assert.AreEqual(expected
 , actual);
    
        }
        private static QueryResults TranslateResults(ParsedQuery query, bool textResults, QueryResults results)
        {
            textResults = textResults || (results.ResultSets.Count != 1);
        
            if (textResults)
            {
                results = results.ToTextResults();
            }

            if (query.IncludeExecutionPlan)
            {
                results = results.TransformQueryPlan();
            }
            return results;
        }