protected ConfigurationContext CreateContext(IConfigurationMap map, Configuration configuration) { var context = new ConfigurationContext { SolutionDirectoryPath = solutionDirectory.FullName, Environment = configuration.Environment, SourceFile = configuration.File, ProjectName = map.GetProjectName(solutionDirectory, configuration), }; var transformName = map.GetTransformName(solutionDirectory, configuration); context.TransformFile = Path.Combine( solutionDirectory.FullName, Path.GetDirectoryName(context.SourceFile), string.Format("{0}.{1}.config", transformName, configuration.Environment)); var transformXmlContent = File.ReadAllText(context.TransformFile, Encoding.UTF8); var resultXml = new XmlDocument(); resultXml.Load(Path.Combine(solutionDirectory.FullName, configuration.File)); context.Source = XDocument.Parse(resultXml.OuterXml); var transformation = new XmlTransformation(transformXmlContent, false, null); transformation.Apply(resultXml); context.Result = XDocument.Parse(resultXml.OuterXml); return(context); }
protected bool RunTests(IConfigurationMap map, Configuration configuration) { var configurationTests = map.GetTests(); reporter.RunningTests(configuration, configurationTests); return(configurationTests.Aggregate(true, (result, configurationTest) => { var context = CreateContext(map, configuration); try { configurationTest.RunTest(context); reporter.PassTest(configurationTest, context.TransformFile, configuration); } catch (Exception exception) { reporter.FailTest(configurationTest, context.TransformFile, configuration, exception); return false; } return result; })); }