Tests/GenXdev.Helpers/Show-GenXDevCmdlets.Tests.ps1

###############################################################################
Pester\Describe 'Show-GenXDevCmdlets' {

    Pester\BeforeAll {
        # get the script path for analysis
        $Script:scriptPath = GenXdev.FileSystem\Expand-Path `
            "$PSScriptRoot\..\..\Functions\GenXdev.Helpers\Show-GenXDevCmdlets.ps1"
    }

    Pester\It 'Should pass PSScriptAnalyzer rules' {

        # run analyzer with explicit settings
        $analyzerResults = GenXdev.Coding\Invoke-GenXdevScriptAnalyzer `
            -Path $Script:scriptPath `
            -ErrorAction SilentlyContinue

        # are there any errors?
        if ($null -ne $analyzerResults -and ($analyzerResults.Length -gt 0)) {

            $analyzerResults | Microsoft.PowerShell.Core\ForEach-Object {

                # suppress the PSUseSingularNouns rule for this test
                if ($_.RuleName -ne 'PSUseSingularNouns') {
                    $_.RuleName | Pester\Should -Be $_.Message
                }
            }
        }
    }
}
###############################################################################