コード例 #1
0
        public void Start()
        {
            var starterType = typeof(EnvironmentStarter);
            var domain      = CreateAppDomainFor(dllPath);

            var starter = (EnvironmentStarter)domain.CreateInstanceAndUnwrap(
                starterType.Assembly.GetName(false).Name, starterType.FullName);

            var outputWriter = new KeepAliveTextWriter(output);
            var errorWriter  = new KeepAliveTextWriter(error);

            var assemblyName = starter.Setup(dllPath,
                                             outputWriter,
                                             errorWriter);

            openWriters.Add(outputWriter);
            openWriters.Add(errorWriter);

            //domain.UnhandledException += Domain_UnhandledException;

            var environments = types.Select(typeName => {
                var environment = starter.ForType(assemblyName, typeName);

                if (environment != null)
                {
                    environment.Start();
                }

                return(environment);
            }).ToList();

            this.appDomain = domain;
        }
コード例 #2
0
        public void WriteLine()
        {
            var output = new StringWriter();
            var writer = new KeepAliveTextWriter(output);

            writer.WriteLine("Hello");

            Assert.That(output.ToString(), Is.EqualTo("Hello" + Environment.NewLine));
        }
コード例 #3
0
ファイル: AppHosts.cs プロジェクト: maikebing/DotNetTestKit
        private Host CreateHost(string physicalPath, string virtualPath)
        {
            Host host = new Host();

            host.Configure(this, Server.Port, virtualPath, physicalPath, Server.RequireAuthentication, Server.DisableDirectoryListing);

            var output = new KeepAliveTextWriter(OutputWriter ?? Console.Out);

            var applicationManager = ApplicationManager.GetApplicationManager();

            host = CreateWorkerAppDomainWithHost(host);

            host.SetConsoleOut(output);

            if (HostCreated != null)
            {
                HostCreated.Invoke(this, new HostCreatedEventArgs(virtualPath, physicalPath));
            }

            Console.WriteLine("Host created {0}", virtualPath);

            return(host);
        }
コード例 #4
0
        public void SetConsoleOut(TextWriter writer)
        {
            this.outputWriter = new KeepAliveTextWriter(writer);

            Console.SetOut(outputWriter);
        }