Functions/Get-StringWithWhitespaceReplaced.Tests.ps1

describe "BitTitan.Runbooks.Common/Get-StringWithWhitespaceReplaced" -Tag "module", "unit" {

    # Import the function to test
    . "$($PSScriptRoot)\Get-StringWithWhitespaceReplaced.ps1"

    it -TestCases @(
        @{
            inputString  = "stringWithoutWhitespaces"
            outputString = "stringWithoutWhitespaces"
        },
        @{
            inputString  = "string with spaces"
            outputString = "string with spaces"
        },
        @{
            inputString  = "string`rwith`nwhite`tspace`vcharacters"
            outputString = "string with white space characters"
        },
        @{
            inputString  = "string with successive`r`nwhitespace characters"
            outputString = "string with successive whitespace characters"
        }
    ) "replaces the whitespace characters with spaces" {
        param ($inputString, $outputString)
        Get-StringWithWhitespaceReplaced -String $inputString | Should Be $outputString
    }

    it "replaces the whitespace characters with an empty string" {
        # Prepare the function input
        $inputString = "string`rwith`nwhite`tspace`vcharacters"

        # Call the function
        $output = Get-StringWithWhitespaceReplaced -String $inputString -ReplacedBy ""

        # Verify the output
        $output | Should Be "stringwithwhitespacecharacters"
    }
}