private/Test-IsNull.ps1
|
Function Test-IsNull { <# .DESCRIPTION Tests if the values in the passed hashtable are null. #> [OutputType([Boolean],[String[]])] [CmdletBinding()] param ( [Parameter(Mandatory)] [ValidateSet('AnyIsNull','AllAreNull')] [Alias('n')] [String] $TestName, [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [Alias('v')] [Hashtable] $TestValues, [Parameter()] [Alias('r')] [Switch] $ReturnFailedKeys ) process { try { $failedkeys = @( $TestValues.Keys | Where-Object { [String]::IsNullOrEmpty($TestValues[$_]) } ) $pass = switch ( $TestName ) { 'AnyIsNull' { if ( $failedkeys.count -gt 0 ) { $true } else { $false } } 'AllAreNull' { if ( $TestValues.count -eq $failedkeys.count ) { $true } else { $false } } } if ( $ReturnFailedKeys ) { return $pass, $failedkeys } else { return $pass } } catch { Write-ExceptionMessage -e $_ } } } |