public void FormattingScriptCommandsReplacesVariablesWithTheRightMSBuildProperties(
            string variable,
            string msbuildReplacement)
        {
            var scriptMigrationRule = new MigrateScriptsRule();

            scriptMigrationRule.ReplaceScriptVariables($"%{variable}%").Should().Be(msbuildReplacement);
        }
        public void Formatting_script_commands_replaces_variables_with_the_right_msbuild_properties(
            string variable,
            string msbuildReplacement)
        {
            var scriptMigrationRule = new MigrateScriptsRule();

            scriptMigrationRule.ReplaceScriptVariables($"%{variable}%").Should().Be(msbuildReplacement);
        }
        public void FormattingScriptCommandsThrowsWhenVariableIsUnsupported(string unsupportedVariable)
        {
            var scriptMigrationRule = new MigrateScriptsRule();

            Action formatScriptAction = () => scriptMigrationRule.ReplaceScriptVariables($"%{unsupportedVariable}%");

            formatScriptAction.ShouldThrow <Exception>()
            .Where(exc => exc.Message.Contains("is currently an unsupported script variable for project migration"));
        }
        public void FormattingScriptCommandsReplacesUnknownVariablesWithMSBuildPropertyForEnvironmentVariableSupport()
        {
            var scriptMigrationRule = new MigrateScriptsRule();

            scriptMigrationRule.ReplaceScriptVariables($"%UnknownVariable%").Should().Be("$(UnknownVariable)");
        }
        public void Formatting_script_commands_replaces_unknown_variables_with_MSBuild_Property_for_environment_variable_support()
        {
            var scriptMigrationRule = new MigrateScriptsRule();

            scriptMigrationRule.ReplaceScriptVariables($"%UnknownVariable%").Should().Be("$(UnknownVariable)");
        }