public void ShouldGetSourceIfAutoGetSourceTrue()
        {
            DynamicMock           executor   = new DynamicMock(typeof(ProcessExecutor));
            ExternalSourceControl externalSC = new ExternalSourceControl((ProcessExecutor)executor.MockInstance);

            externalSC.AutoGetSource = true;
            externalSC.Executable    = "banana.bat";
            externalSC.ArgString     = @"arg1 ""arg2 is longer"" arg3";

            IntegrationResult intResult = new IntegrationResult();

            intResult.StartTime        = new DateTime(1959, 9, 11, 7, 53, 0);
            intResult.WorkingDirectory = @"C:\SomeDir\Or\Other";
            intResult.ProjectName      = "MyProject";

            ProcessInfo expectedProcessRequest = new ProcessInfo(
                "banana.bat",
                @"GETSOURCE ""C:\SomeDir\Or\Other"" ""1959-09-11 07:53:00"" arg1 ""arg2 is longer"" arg3",
                @"C:\SomeDir\Or\Other"
                );

            expectedProcessRequest.TimeOut = Timeout.DefaultTimeout.Millis;

            executor.ExpectAndReturn("Execute", new ProcessResult("foo", null, 0, false), expectedProcessRequest);
            externalSC.GetSource(intResult);
            executor.Verify();
        }
        public void ShouldNotGetSourceIfAutoGetSourceFalse()
        {
            DynamicMock           executor   = new DynamicMock(typeof(ProcessExecutor));
            ExternalSourceControl externalSC = new ExternalSourceControl((ProcessExecutor)executor.MockInstance);

            externalSC.AutoGetSource = false;

            executor.ExpectNoCall("Execute", typeof(ProcessInfo));
            externalSC.GetSource(new IntegrationResult());
            executor.Verify();
        }
        public void ShouldNotGetSourceIfAutoGetSourceFalse()
        {
            var executor = new Mock <ProcessExecutor>();
            ExternalSourceControl externalSC = new ExternalSourceControl((ProcessExecutor)executor.Object);

            externalSC.AutoGetSource = false;

            externalSC.GetSource(new IntegrationResult());
            executor.Verify();
            executor.VerifyNoOtherCalls();
        }