public void TestUnloadWithImports()
{
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(Path.Combine(tmpdir, "t.stg"));
Template st = group.GetInstanceOf("main");
Assert.AreEqual("v1-g1", st.Render());
// Change the text of group t, including the imports.
writeFile(tmpdir, "t.stg", "import \"g2.stg\"\n\nmain() ::= <<\nv2-<f()>;<f2()>\n>>");
group.Unload();
st = group.GetInstanceOf("main");
Assert.AreEqual("v2-g2;f2", st.Render());
}