FILE: C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\Functions\Assertions\BeOfType.ps1
--
function PesterBeOfType($value, $expectedType) {
trap [System.Management.Automation.PSInvalidCastException] { return $false }
if($expectedType -is [string] -and !($expectedType -as [Type])) {
$expectedType = $expectedType -replace '^\[(.*)\]$','$1'
}
return [bool]($value -is $expectedType)
}
function PesterBeOfTypeFailureMessage($value, $expectedType) {
if($expectedType -is [string] -and !($expectedType -as [Type])) {
$expectedType = $expectedType -replace '^\[(.*)\]$','$1'
}
if($Type = $expectedType -as [type]) {
return "Expected: ${value} to be of type [$Type]"
} else {
return "Expected: ${value} to be of type [$expectedType], but unable to find type [$expectedType]. Make sure that the assembly that contains that type is loaded."
}
}
function NotPesterBeOfTypeFailureMessage($value, $expectedType) {
if($expectedType -is [string] -and -not $expectedType -as [Type]) {
$expectedType = $expectedType -replace '^\[(.*)\]$','$1'
}
if($Type = $expectedType -as [type]) {
return "Expected: {$value} to be of any type except [${Type}], but it's a [${Type}]"
} else {
return "Expected: ${value} to be of any type except [$expectedType], but unable to find type [$expectedType]. Make sure that the assembly that contains that type is loaded."
}
}
--