protected void DoTest() { var xStack = new StackTrace(1); var xFrame = xStack.GetFrame(0); var xName = xFrame.GetMethod().Name; if (xName.StartsWith("Test")) { xName = xName.Substring(4); } var xInputBaseName = String.Format("{0}.Inputs.{1}", typeof(Tests).Namespace, xName); var xOutput = LoadStringStream(String.Format("{0}.Outputs.{1}.dump", typeof(Tests).Namespace, xName)); var xNames = typeof(Tests).Assembly.GetManifestResourceNames(); var xHost = new HostImpl(); var xParsingContext = new ProjectParsingContext(xHost); xParsingContext.AssemblyReferences.Add(new dotNETImports.Reflection.ReflectionAssemblyReference(xHost, typeof(void).Assembly)); try { for(int i = 0; i < 99;i++) { var xResName = xInputBaseName + "." + i.ToString() + ".tws"; if(!xNames.Contains(xResName)){ break; } xParsingContext.CompileSource(LoadStringStream(xResName)); } } catch (Exception E) { throw new Exception("Error during parse", E); } var xStringWriter = new StringWriter(); ParsingHelper.MayDoResolution = true; Printer.Print(xParsingContext.OutputAssembly, xStringWriter); Assert.AreEqual(xOutput, xStringWriter.ToString()); }
/// <summary> /// Constructor. /// </summary> public SimpleComponentContainer(IApplicationComponent component) { _component = component; _componentHost = new HostImpl(this, _component); }