81 lines
4.8 KiB
PowerShell
81 lines
4.8 KiB
PowerShell
function Test-ArrayBinding {
|
|
<#
|
|
.SYNOPSIS
|
|
This function is a test-bed for testing how some array stuff works
|
|
There is no useful reason to call this outside of testing
|
|
#>
|
|
|
|
function giveMeNull { return $null }
|
|
function giveMeOne { return 1 }
|
|
function giveMeMany { return 1,2,3,4,5 }
|
|
function giveMeSomeNulls { return 1,2,$null,$null,5 }
|
|
|
|
Write-Host "Doing some assigns"
|
|
$nullArray = [array](giveMeNull)
|
|
$nullAt = @(giveMeNull)
|
|
|
|
$oneArray = [array](giveMeOne)
|
|
$oneAt = @(giveMeOne)
|
|
|
|
$manyArray = [array](giveMeMany)
|
|
$manyAt = [array](giveMeMany)
|
|
|
|
$someArray = [array](giveMeSomeNulls)
|
|
$someAt = [array](giveMeSomeNulls)
|
|
|
|
Write-Host "doing some compares"
|
|
Write-Host "`$null -eq : Straight compare to null`nTest-IsCollectionNullOrEmpty : Determines if the array is null or .Count is 0`nAny : Tests if this is not a valid array or any elements are null`n"
|
|
|
|
Write-Host "giveMeNull - Array"
|
|
$eqNullArray = ($null -eq $nullArray)
|
|
$ticNullArray = (Test-IsCollectionNullOrEmpty $nullArray)
|
|
$anyNullArray = (Any $nullArray)
|
|
Write-Host "`$null -eq : $eqNullArray`nTest-IsCollectionNullOrEmpty : $ticNullArray`nAny : $anyNullArray`n"
|
|
|
|
Write-Host "giveMeNull - At"
|
|
$eqNullAt = ($null -eq $nullAt)
|
|
$ticNullAt = (Test-IsCollectionNullOrEmpty $nullAt)
|
|
$anyNullAt = (Any $nullAt)
|
|
Write-Host "`$null -eq : $eqNullAt`nTest-IsCollectionNullOrEmpty : $ticNullAt`nAny : $anyNullAt`n"
|
|
|
|
Write-Host "giveMeOne - Array"
|
|
$eqOneArray = ($One -eq $OneArray)
|
|
$ticOneArray = (Test-IsCollectionNullOrEmpty $OneArray)
|
|
$anyOneArray = (Any $OneArray)
|
|
Write-Host "`$null -eq : $eqOneArray`nTest-IsCollectionNullOrEmpty : $ticOneArray`nAny : $anyOneArray`n"
|
|
|
|
Write-Host "giveMeOne - At"
|
|
$eqOneAt = ($One -eq $OneAt)
|
|
$ticOneAt = (Test-IsCollectionNullOrEmpty $OneAt)
|
|
$anyOneAt = (Any $OneAt)
|
|
Write-Host "`$null -eq : $eqOneAt`nTest-IsCollectionNullOrEmpty : $ticOneAt`nAny : $anyOneAt`n"
|
|
|
|
Write-Host "giveMeMany - Array"
|
|
$eqManyArray = ($Many -eq $ManyArray)
|
|
$ticManyArray = (Test-IsCollectionNullOrEmpty $ManyArray)
|
|
$anyManyArray = (Any $ManyArray)
|
|
Write-Host "`$null -eq : $eqManyArray`nTest-IsCollectionNullOrEmpty : $ticManyArray`nAny : $anyManyArray`n"
|
|
|
|
Write-Host "giveMeMany - At"
|
|
$eqManyAt = ($Many -eq $ManyAt)
|
|
$ticManyAt = (Test-IsCollectionNullOrEmpty $ManyAt)
|
|
$anyManyAt = (Any $ManyAt)
|
|
Write-Host "`$null -eq : $eqManyAt`nTest-IsCollectionNullOrEmpty : $ticManyAt`nAny : $anyManyAt`n"
|
|
|
|
Write-Host "giveMeSomeNulls - Array"
|
|
$eqSomeNullsArray = ($SomeNulls -eq $SomeNullsArray)
|
|
$ticSomeNullsArray = (Test-IsCollectionNullOrEmpty $SomeNullsArray)
|
|
$anySomeNullsArray = (Any $SomeNullsArray)
|
|
Write-Host "`$null -eq : $eqSomeNullsArray`nTest-IsCollectionNullOrEmpty : $ticSomeNullsArray`nAny : $anySomeNullsArray`n"
|
|
|
|
Write-Host "giveMeSomeNulls - At"
|
|
$eqSomeNullsAt = ($SomeNulls -eq $SomeNullsAt)
|
|
$ticSomeNullsAt = (Test-IsCollectionNullOrEmpty $SomeNullsAt)
|
|
$anySomeNullsAt = (Any $SomeNullsAt)
|
|
Write-Host "`$null -eq : $eqSomeNullsAt`nTest-IsCollectionNullOrEmpty : $ticSomeNullsAt`nAny : $anySomeNullsAt`n"
|
|
# 123456789012345678912345678901 12345678901234 12345678901234 12345678901234 12345678901234
|
|
Write-Host "Test name | F null F | T one T | T many T | F some null F |"
|
|
Write-Host "Test-IsColllectionNullOrEmpty | $($eqNullArray.ToString().PadRight(5)) $($eqNullAt.ToString().PadRight(5)) | $($eqOneArray.ToString().PadRight(5)) $($eqOneAt.ToString().PadRight(5)) | $($eqManyArray.ToString().PadRight(5)) $($eqManyAt.ToString().PadRight(5)) | $($eqSomeNullsArray.ToString().PadRight(5)) $($eqSomeNullsAt.ToString().PadRight(5)) |"
|
|
Write-Host "Test-IsColllectionNullOrEmpty | $($ticNullArray.ToString().PadRight(5)) $($ticNullAt.ToString().PadRight(5)) | $($ticOneArray.ToString().PadRight(5)) $($ticOneAt.ToString().PadRight(5)) | $($ticManyArray.ToString().PadRight(5)) $($ticManyAt.ToString().PadRight(5)) | $($ticSomeNullsArray.ToString().PadRight(5)) $($ticSomeNullsAt.ToString().PadRight(5)) |"
|
|
Write-Host "Any (Test-IsArrayValid) | $($anyNullArray.ToString().PadRight(5)) $($anyNullAt.ToString().PadRight(5)) | $($anyOneArray.ToString().PadRight(5)) $($anyOneAt.ToString().PadRight(5)) | $($anyManyArray.ToString().PadRight(5)) $($anyManyAt.ToString().PadRight(5)) | $($anySomeNullsArray.ToString().PadRight(5)) $($anySomeNullsAt.ToString().PadRight(5)) |"
|
|
} |