public void Parse(int endIndex, params string[] args
                          )
        {
            // Act
            var actualValue = (SequenceTask)sequenceParser.Parse(args);

            // Assert
            Assert.Equal(endIndex, actualValue.End);
        }
        public void TestInheritDictionary()
        {
            var c = new ParsingContext(_context)
            {
                Dictionary = "template"
            };
            XmlElement node = Document("<sequence name='seq'/>");

            Assert.IsTrue(_parser.CanParse(node, c));
            var sequence = (Sequence)_parser.Parse(node, c);

            Assert.AreEqual("template", sequence.Length.Dictionary);

            node     = Document("<sequence name='seq'><length name='explicitLength'/></sequence>");
            sequence = (Sequence)_parser.Parse(node, c);
            Assert.AreEqual("template", sequence.Length.Dictionary);
        }
Exemple #3
0
        private static void BuildDocumentation(string content, List <string> matches, string schemaName)
        {
            PGSchema schema = SchemaProcessor.GetSchema(schemaName);

            content = content.Replace("[DBName]", Program.Database.ToUpperInvariant());
            content = content.Replace("[SchemaName]", schemaName);

            content = SequenceParser.Parse(content, matches, SequenceProcessor.GetSequences(schemaName));
            content = TableParser.Parse(content, matches, schema.Tables);
            content = ViewParser.Parse(content, matches, schema.Views);
            content = SequenceParser.Parse(content, matches, schema.Sequences);
            content = MaterializedViewParser.Parse(content, matches, schema.MaterializedViews);
            content = FunctionParser.Parse(content, matches, schema.Functions);
            content = FunctionParser.ParseTriggers(content, matches, schema.TriggerFunctions);
            content = TypeParser.Parse(content, matches, schema.Types);

            foreach (PgTable table in schema.Tables)
            {
                Console.WriteLine("Generating documentation for table \"{0}\".", table.Name);
                TableRunner.Run(table);
            }


            foreach (PgFunction function in schema.Functions)
            {
                Console.WriteLine("Generating documentation for function \"{0}\".", function.Name);
                FunctionRunner.Run(function);
            }

            foreach (PgFunction function in schema.TriggerFunctions)
            {
                Console.WriteLine("Generating documentation for trigger function \"{0}\".", function.Name);
                FunctionRunner.Run(function);
            }

            foreach (PgMaterializedView materializedView in schema.MaterializedViews)
            {
                Console.WriteLine("Generating documentation for materialized view \"{0}\".", materializedView.Name);
                MaterializedViewRunner.Run(materializedView);
            }

            foreach (PgView view in schema.Views)
            {
                Console.WriteLine("Generating documentation for view \"{0}\".", view.Name);
                ViewRunner.Run(view);
            }
            foreach (PgType type in schema.Types)
            {
                Console.WriteLine("Generating documentation for type \"{0}\".", type.Name);
                TypeRunner.Run(type);
            }

            string targetPath = System.IO.Path.Combine(OutputPath, schemaName + ".html");

            FileHelper.WriteFile(content, targetPath);
        }
Exemple #4
0
        public void FailureSecond()
        {
            IScanner       scanner = Provider.Scanner;
            SequenceParser parser  = new SequenceParser(First, Second2);

            ParserMatch m = parser.Parse(scanner);

            Assert.IsTrue(!m.Success);
            Assert.AreEqual(scanner.Offset, 0);
        }
Exemple #5
0
        public void FailureFirst()
        {
            IScanner       scanner = Provider.NewScanner;
            SequenceParser parser  = new SequenceParser(Second, Second2);

            ParserMatch m = parser.Parse(scanner);

            Assert.IsFalse(m.Success);
            Assert.AreEqual(0, scanner.Offset);
        }
Exemple #6
0
        public void Success()
        {
            IScanner       scanner = Provider.Scanner;
            SequenceParser parser  = new SequenceParser(First, Second);

            ParserMatch m = parser.Parse(scanner);

            Assert.IsTrue(m.Success);
            Assert.AreEqual(m.Offset, 0);
            Assert.AreEqual(scanner.Offset, m.Offset + m.Length);
            Assert.AreEqual(m.Value, First.MatchedString + Second.MatchedString);
        }