Inheritance: ISolutionBuilder
        public void Constructor_AllParametersAreSet_ObjectIsInstantiated()
        {
            // Arrange
            var buildFolderPathProvider = new Mock<IBuildFolderPathProvider>();
            var buildParameterProvider = new Mock<IBuildPropertyProvider>();

            // Act
            var solutionBuilder = new SolutionBuilder(buildFolderPathProvider.Object, buildParameterProvider.Object);

            // Assert
            Assert.IsNotNull(solutionBuilder);
        }
        public void Build_BuildConfigurationIsInvalid_ArgumentExceptionIsThrown(string buildConfiguration)
        {
            // Arrange
            string solutionPath = @"C:\dev\some-project\project.sln";
            var additionalBuildProperties = new Dictionary<string, string>();

            var buildFolderPathProvider = new Mock<IBuildFolderPathProvider>();
            var buildParameterProvider = new Mock<IBuildPropertyProvider>();
            var solutionBuilder = new SolutionBuilder(buildFolderPathProvider.Object, buildParameterProvider.Object);

            // Act
            solutionBuilder.Build(solutionPath, buildConfiguration, additionalBuildProperties);
        }
        public void Build_SolutionPathIsInvalid_ArgumentExceptionIsThrown(string solutionPath)
        {
            // Arrange
            var buildConfiguration = "Debug";
            var additionalBuildProperties = new Dictionary<string, string>();

            var buildFolderPathProvider = new Mock<IBuildFolderPathProvider>();
            var buildParameterProvider = new Mock<IBuildPropertyProvider>();
            var solutionBuilder = new SolutionBuilder(buildFolderPathProvider.Object, buildParameterProvider.Object);

            // Act
            solutionBuilder.Build(solutionPath, buildConfiguration, additionalBuildProperties);
        }
        public void Build_AdditionalBuildPropertiesParameterIsNull_ArgumentNullExceptionIsThrown()
        {
            // Arrange
            string solutionPath = @"C:\dev\some-project\project.sln";
            string buildConfiguration = "Debug";
            Dictionary<string, string> additionalBuildProperties = null;

            var buildFolderPathProvider = new Mock<IBuildFolderPathProvider>();
            var buildParameterProvider = new Mock<IBuildPropertyProvider>();
            var solutionBuilder = new SolutionBuilder(buildFolderPathProvider.Object, buildParameterProvider.Object);

            // Act
            solutionBuilder.Build(solutionPath, buildConfiguration, additionalBuildProperties);
        }