public void TestImportDir()
{
/*
dir1
g.stg has a() that imports dir2 with absolute path
dir2
a.st
b.st
*/
string dir1 = Path.Combine(tmpdir, "dir1");
string dir2 = Path.Combine(tmpdir, "dir2");
string gstr =
"import \"" + dir2 + "\"\n" +
"a() ::= <<dir1 a>>\n";
writeFile(dir1, "g.stg", gstr);
string a = "a() ::= <<dir2 a>>\n";
string b = "b() ::= <<dir2 b>>\n";
writeFile(dir2, "a.st", a);
writeFile(dir2, "b.st", b);
TemplateGroup group = new TemplateGroupFile(Path.Combine(dir1, "g.stg"));
Template st = group.GetInstanceOf("b"); // visible only if import worked
string expected = "dir2 b";
string result = st?.Render();
Assert.AreEqual(expected, result);
}