ps/Modules/Cole.PowerShell.Developer/Public/Test-ArrayBinding.ps1
2023-05-30 22:51:22 -07:00

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)) |"
}