public void Test_CreateDeployemntTask_RunsProperly_WhenAllIsWell()
        {
            var objectFactory = new Mock<IObjectFactory>(MockBehavior.Strict);
              var envInfoRepository = new Mock<IEnvironmentInfoRepository>(MockBehavior.Loose);
              var artifactsRepository = new Mock<IArtifactsRepository>(MockBehavior.Loose);
              var taskScheduler = new Mock<ITaskScheduler>(MockBehavior.Loose);
              var ntServiceManager = new Mock<INtServiceManager>(MockBehavior.Loose);
              var passwordCollector = new Mock<IPasswordCollector>(MockBehavior.Loose);
              var failoverClusterManager = new Mock<IFailoverClusterManager>(MockBehavior.Loose);

              var projectInfo =
            new NtServiceProjectInfo(
              _ProjectName,
              _ArtifactsRepositoryName,
              _ArtifactsRepositoryDirName,
              _ArtifactsAreNotEnvironmentSpecific,
              _NtServiceName,
              _NtServiceDirName,
              _NtServiceDisplayName,
              _NtServiceExeName,
              _NtServiceUserId);

              objectFactory.Setup(o => o.CreateEnvironmentInfoRepository()).Returns(envInfoRepository.Object);
              objectFactory.Setup(o => o.CreateArtifactsRepository()).Returns(artifactsRepository.Object);
              objectFactory.Setup(o => o.CreateTaskScheduler()).Returns(taskScheduler.Object);
              objectFactory.Setup(o => o.CreateNtServiceManager()).Returns(ntServiceManager.Object);
              objectFactory.Setup(o => o.CreatePasswordCollector()).Returns(passwordCollector.Object);
              objectFactory.Setup(o => o.CreateFailoverClusterManager()).Returns(failoverClusterManager.Object);

              projectInfo.CreateDeploymentTask(
            objectFactory.Object, "configName", "buildID", "targetEnvironmentName");
        }
        public void Test_CreateDeploymentTask_Thows_When_ObjectFactory_null()
        {
            var projectInfo =
            new NtServiceProjectInfo(
              _ProjectName,
              _ArtifactsRepositoryName,
              _ArtifactsRepositoryDirName,
              _ArtifactsAreNotEnvironmentSpecific,
              _NtServiceName,
              _NtServiceDirName,
              _NtServiceDisplayName,
              _NtServiceExeName,
              _NtServiceUserId);

              Assert.Throws<ArgumentNullException>(
            () => projectInfo.CreateDeploymentTask(null, "configName", "buildID", "targetEnvironmentName"));
        }