示例#1
0
        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);
 }