public void TestUnloadImportedTemplatedSpecifiedInGroupFile()
{
writeFile(tmpdir, "t.stg",
"import \"g1.stg\"\n\nmain() ::= <<\nv1-<f()>\n>>");
writeFile(tmpdir, "g1.stg", "f() ::= \"g1\"");
writeFile(tmpdir, "g2.stg", "f() ::= \"g2\"\nf2() ::= \"f2\"\n");
TemplateGroup group = new TemplateGroupFile(tmpdir + "/t.stg");
Template st = group.GetInstanceOf("main");
Assert.AreEqual("v1-g1", st?.Render());
// Change the imports of group t.
writeFile(tmpdir, "t.stg",
"import \"g2.stg\"\n\nmain() ::= <<\nv2-<f()>;<f2()>\n>>");
group.Unload(); // will also unload already imported groups
st = group.GetInstanceOf("main");
Assert.AreEqual("v2-g2;f2", st?.Render());
}