示例#1
0
        public void FormatSsvByCustomNotation()
        {
            var ssv = new Ssv();

            ssv.InsertTableNameLine("T");
            ssv.InsertHeaderColumnsLine("A", "B", "C");
            ssv.InsertDataLine("A1", "B1", "C1");
            ssv.InsertDataLine("A2", "B2", "C2");

            var notation = new Notation()
            {
                ValueDelimiter  = " || ",
                TableStartMark  = "<<",
                TableEndMak     = ">>",
                HeaderStartMark = "{{",
                HeaderEndMark   = "}}"
            };

            var formatter = new SsvFormatter()
            {
                SsvNotation = notation
            };
            var format = formatter.Format(ssv);

            var lines = format.Split(new[] { formatter.SsvNotation.LineDelimiter }, StringSplitOptions.None).ToArray();

            Assert.AreEqual(4, lines.Length);
            Assert.AreEqual("<<T>>", lines[0]);
            Assert.AreEqual("{{A || B || C}}", lines[1]);
            Assert.AreEqual("A1 || B1 || C1", lines[2]);
        }
示例#2
0
        public void InsertDataLine()
        {
            var ssv = new Ssv();

            ssv.InsertDataLine("a1", "b1");

            Assert.AreEqual(1, ssv.Lines.Count);
            Assert.AreEqual("a1", ssv.Lines[0].Values[0]);
            Assert.AreEqual("b1", ssv.Lines[0].Values[1]);
        }
示例#3
0
        public void InsertCustomHeaderLine()
        {
            var ssv = new Ssv();

            ssv.InsertHeaderColumnsLine("A", "B");

            Assert.AreEqual(1, ssv.Lines.Count);
            Assert.AreEqual("A", ssv.Lines[0].Values[0]);
            Assert.AreEqual("B", ssv.Lines[0].Values[1]);
        }
示例#4
0
        public static void AssertSsvEqualsContentLines(Ssv ssv, IEnumerable <string> contentLines)
        {
            for (int i = 0; i < ssv.Lines.Count; i++)
            {
                var contentLine = contentLines.ElementAt(i);
                for (int j = 0; j < ssv.Lines[i].Values.Count; j++)
                {
                    var value = ssv.Lines[i].Values[j];

                    Assert.IsTrue(contentLine.Contains(value));
                }
            }
        }
示例#5
0
        public static Ssv Create3ColumnsNDataLines(int n, string tableName = null)
        {
            var ssv = new Ssv();

            if (tableName != null)
            {
                ssv.InsertTableNameLine(tableName);
            }

            ssv.InsertHeaderColumnsLine("A", "B", "C");
            for (int i = 1; i <= n; i++)
            {
                ssv.InsertDataLine("a" + i, "b" + i, "c" + i);
            }

            return(ssv);
        }
示例#6
0
        public void FormatSsvByDefaultNotation()
        {
            var ssv = new Ssv();

            ssv.InsertTableNameLine("T");
            ssv.InsertHeaderColumnsLine("A", "B", "C");
            ssv.InsertDataLine("A1", "B1", "C1");
            ssv.InsertDataLine("A2", "B2", "C2");

            var formatter = new SsvFormatter();
            var format    = formatter.Format(ssv);

            var lines = format.Split(new[] { formatter.SsvNotation.LineDelimiter }, StringSplitOptions.None).ToArray();

            Assert.AreEqual(4, lines.Length);
            Assert.AreEqual("[[[T]]]", lines[0]);
            Assert.AreEqual("[[A;B;C]]", lines[1]);
            Assert.AreEqual("A1;B1;C1", lines[2]);
        }
示例#7
0
        public static Ssv CreateMultiTable(int tables, int rows, int columns)
        {
            var ssv = new Ssv();

            for (int i = 0; i < tables; i++)
            {
                ssv.InsertTableNameLine("T " + i);
                foreach (var headerLine in CreateFullHeader(3))
                {
                    ssv.Insert(headerLine);
                }
                foreach (var dataLine in CreateDataLines(rows, columns))
                {
                    ssv.Insert(dataLine);
                }
            }

            return(ssv);
        }
示例#8
0
        protected override void ProcessRecord()
        {
            var ssv = Ssv.Load(LiteralPath, Delimiter);

            WriteObject(ssv);
        }