Antlr4.Test.StringTemplate.TestImports.TestImportTemplateFromGroupFile C# (CSharp) Method

TestImportTemplateFromGroupFile() private method

private TestImportTemplateFromGroupFile ( ) : void
return void
        public void TestImportTemplateFromGroupFile()
        {
            // /randomdir/x/subdir/a and /randomdir/y/subdir.stg which has a and b
            string dir = tmpdir;
            string a = "a() ::= << </subdir/b()> >>\n"; // get b imported from subdir.stg
            writeFile(dir, Path.Combine("x", "subdir", "a.st"), a);

            string groupFile =
                "a() ::= \"group file: a\"\n" +
                "b() ::= \"group file: b\"\n";
            writeFile(dir, Path.Combine("y", "subdir.stg"), groupFile);

            TemplateGroup group1 = new TemplateGroupDirectory(Path.Combine(dir, "x"));
            TemplateGroup group2 = new TemplateGroupDirectory(Path.Combine(dir, "y"));
            group1.ImportTemplates(group2);

            Template st = group1.GetInstanceOf("subdir/a");

            Assert.IsNotNull(st);
            Assert.IsNotNull(group1.GetInstanceOf("subdir/b"));

            string expected = " group file: b ";
            string result = st?.Render();
            Assert.AreEqual(expected, result);
        }