コード例 #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 FormatSsvByDefaultNotation()
        {
            var ssv = SsvFactory.Create3ColumnsNDataLines(2, "T");

            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]);
        }
コード例 #3
0
        public void FormatSsvByCustomNotation()
        {
            var ssv      = SsvFactory.Create3ColumnsNDataLines(2, "T");
            var notation = SsvFactory.CreateCustomNotation();

            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]);
        }
コード例 #4
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]);
        }
コード例 #5
0
        public void ParseAndFormatValidSingleTablesWithColumnNamesHeaderOnly()
        {
            var files = Directory.GetFiles(ContentHelper.RootDataFolder, "singletable-header-colnames-[*]-valid.ssv");

            foreach (var file in files)
            {
                Console.WriteLine(file);
                var originalContent = File.ReadAllText(file);
                var parser          = new SsvParser();
                var ssv             = parser.Parse(originalContent);

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

                Assert.AreEqual(originalContent, format, false, CultureInfo.InvariantCulture, file);

                Console.WriteLine(" - ok");
            }
        }