/// <inheritdoc />
        protected override IHost CreateHostImpl(HostSetup hostSetup, ILogger logger)
        {
            PartCoverHost host = new PartCoverHost(hostSetup, logger, RuntimePath);

            host.Connect();
            return(host);
        }
        /// <inheritdoc />
        protected override object RunIsolatedTaskInHost <TIsolatedTask>(HostSetup hostSetup, StatusReporter statusReporter, object[] args)
        {
            if (!PartCoverTool.IsInstalled())
            {
                throw new TestIsolationException(string.Format("{0} does not appear to be installed.", PartCoverTool.Name));
            }

            string partCoverCoverageReportDir = PartCoverHost.GetPartCoverCoverageReportDir(hostSetup);

            if (batch != null)
            {
                hostSetup = hostSetup.Copy();

                string tempCoverageFile = batch.Enlist(partCoverCoverageReportDir);
                PartCoverHost.SetPartCoverCoverageFile(hostSetup, tempCoverageFile);
            }
            return(base.RunIsolatedTaskInHost <TIsolatedTask>(hostSetup, statusReporter, args));
        }
 /// <inheritdoc />
 protected override IHost CreateHostImpl(HostSetup hostSetup, ILogger logger)
 {
     PartCoverHost host = new PartCoverHost(hostSetup, logger, RuntimePath);
     host.Connect();
     return host;
 }