public void TargetWorkingDirectorySpecified()
		{
			string targetWorkingDirectory = @"C:\Program Files\SharpDevelop\bin\Tools";
			PartCoverRunner runner = new PartCoverRunner();
			runner.TargetWorkingDirectory = targetWorkingDirectory;
			string expectedArgs = "--target-work-dir \"" + targetWorkingDirectory + "\"";
			
			Assert.AreEqual(expectedArgs, runner.GetArguments());
		}
        public void TargetWorkingDirectorySpecified()
        {
            string          targetWorkingDirectory = @"C:\Program Files\SharpDevelop\bin\Tools";
            PartCoverRunner runner = new PartCoverRunner();

            runner.TargetWorkingDirectory = targetWorkingDirectory;
            string expectedArgs = "--target-work-dir \"" + targetWorkingDirectory + "\"";

            Assert.AreEqual(expectedArgs, runner.GetArguments());
        }
        public void OutputSpecified()
        {
            string          output = @"C:\Projects\MyTests\CodeCoverage.xml";
            PartCoverRunner runner = new PartCoverRunner();

            runner.Output = output;
            string expectedArgs = "--output \"" + output + "\"";

            Assert.AreEqual(expectedArgs, runner.GetArguments());
        }
        public void ExcludeSpecified()
        {
            string          exclude = @"[RootNamespace.MyTests]*";
            PartCoverRunner runner  = new PartCoverRunner();

            runner.Exclude.Add(exclude);
            string expectedArgs = "--exclude " + exclude;

            Assert.AreEqual(expectedArgs, runner.GetArguments());
        }
		public void TargetArguments()
		{
			string targetArgs = @"C:\Project\Test\MyTests.dll";
			PartCoverRunner runner = new PartCoverRunner();
			runner.TargetWorkingDirectory = null;
			runner.TargetArguments = targetArgs;
			string expectedArgs = "--target-args \"" + targetArgs + "\"";
			
			Assert.AreEqual(expectedArgs, runner.GetArguments());
		}		
        public void TargetArgumentsIncludeDoubleQuotes()
        {
            string          targetArgs = "\"C:\\Project\\My Tests\\MyTests.dll\" /output=\"C:\\Project\\My Tests\\Output.xml\"";
            PartCoverRunner runner     = new PartCoverRunner();

            runner.TargetWorkingDirectory = null;
            runner.TargetArguments        = targetArgs;
            string expectedArgs = "--target-args \"" + targetArgs.Replace("\"", "\\\"") + "\"";

            Assert.AreEqual(expectedArgs, runner.GetArguments());
        }
        public void TargetArguments()
        {
            string          targetArgs = @"C:\Project\Test\MyTests.dll";
            PartCoverRunner runner     = new PartCoverRunner();

            runner.TargetWorkingDirectory = null;
            runner.TargetArguments        = targetArgs;
            string expectedArgs = "--target-args \"" + targetArgs + "\"";

            Assert.AreEqual(expectedArgs, runner.GetArguments());
        }
        public void OneIncludeAndExcludeItemSpecified()
        {
            string          exclude = @"[RootNamespace.MyTests]*";
            string          include = @"[System]*";
            PartCoverRunner runner  = new PartCoverRunner();

            runner.Exclude.Add(exclude);
            runner.Include.Add(include);
            string expectedArgs = "--include " + include + " --exclude " + exclude;

            Assert.AreEqual(expectedArgs, runner.GetArguments());
        }
        public void TwoExcludeItemsSpecified()
        {
            string          exclude1 = @"[RootNamespace.MyTests]*";
            string          exclude2 = @"[System]*";
            PartCoverRunner runner   = new PartCoverRunner();

            runner.Exclude.Add(exclude1);
            runner.Exclude.Add(exclude2);
            string expectedArgs = "--exclude " + exclude1 + " --exclude " + exclude2;

            Assert.AreEqual(expectedArgs, runner.GetArguments());
        }
        public void ArgumentsStringIsEmptyWhenNothingSpecified()
        {
            PartCoverRunner runner = new PartCoverRunner();

            Assert.AreEqual(String.Empty, runner.GetArguments());
        }
		public void TargetArgumentsIncludeDoubleQuotes()
		{
			string targetArgs = "\"C:\\Project\\My Tests\\MyTests.dll\" /output=\"C:\\Project\\My Tests\\Output.xml\"";
			PartCoverRunner runner = new PartCoverRunner();
			runner.TargetWorkingDirectory = null;
			runner.TargetArguments = targetArgs;
			string expectedArgs = "--target-args \"" + targetArgs.Replace("\"", "\\\"") + "\"";
			
			Assert.AreEqual(expectedArgs, runner.GetArguments());
		}		
		public void ArgumentsStringIsEmptyWhenNothingSpecified()
		{
			PartCoverRunner runner = new PartCoverRunner();
			Assert.AreEqual(String.Empty, runner.GetArguments());
		}
		public void OutputSpecified()
		{
			string output = @"C:\Projects\MyTests\CodeCoverage.xml";
			PartCoverRunner runner = new PartCoverRunner();
			runner.Output = output;
			string expectedArgs = "--output \"" + output + "\"";
			
			Assert.AreEqual(expectedArgs, runner.GetArguments());
		}		
		public void OneIncludeAndExcludeItemSpecified()
		{
			string exclude = @"[RootNamespace.MyTests]*";
			string include = @"[System]*";
			PartCoverRunner runner = new PartCoverRunner();
			runner.Exclude.Add(exclude);
			runner.Include.Add(include);
			string expectedArgs = "--include " + include + " --exclude " + exclude;
			
			Assert.AreEqual(expectedArgs, runner.GetArguments());
		}		
		public void TwoExcludeItemsSpecified()
		{
			string exclude1 = @"[RootNamespace.MyTests]*";
			string exclude2 = @"[System]*";
			PartCoverRunner runner = new PartCoverRunner();
			runner.Exclude.Add(exclude1);
			runner.Exclude.Add(exclude2);
			string expectedArgs = "--exclude " + exclude1 + " --exclude " + exclude2;
			
			Assert.AreEqual(expectedArgs, runner.GetArguments());
		}		
		public void ExcludeSpecified()
		{
			string exclude = @"[RootNamespace.MyTests]*";
			PartCoverRunner runner = new PartCoverRunner();
			runner.Exclude.Add(exclude);
			string expectedArgs = "--exclude " + exclude;
			
			Assert.AreEqual(expectedArgs, runner.GetArguments());
		}