private static void Run <TConfig>( TestLabel label, TestFunction func, XmlCheckFunction check) where TConfig : ConfigProvider, new() { TestUtil.RunWithTempFiles((parent, filename) => { var provider = new TConfig(); provider.Create(parent); Assert.False(File.Exists(filename)); var config = provider.OpenConfig(parent, filename); Assert.False(File.Exists(filename)); try { label.EnterScope("config"); func(config, label); } finally { label.LeaveScope(); } if (check == null) { return; } var xml = new XmlDocument(); xml.Load(filename); var nav = xml.CreateNavigator().SelectSingleNode("/configuration"); try { label.EnterScope("xml"); check(nav, label); } finally { label.LeaveScope(); } }); }
public static void Run <TConfig> ( string name, TestFunction func, XmlCheckFunction check) where TConfig : ConfigProvider, new () { Run <TConfig> (new TestLabel(name), func, check); }