Tests/Test-IPv4Address.Tests.ps1
$ModuleName = 'IPv4Toolbox' $script:FunctionName = 'Test-IPv4Address' $ParentPath = Split-Path -Path $PSScriptRoot -Parent $ModulePath = Join-Path -Path $ParentPath -ChildPath "$($ModuleName).psm1" Get-Module -Name $ModuleName | Remove-Module -Force Import-Module $ModulePath -Force InModuleScope $ModuleName { Describe "Basic function unit tests for $FunctionName" -Tags @('Build', 'Unit') { $TestCollection = @() $TestList = @(Out-SubnetRange -Subnet '10.12.0.0' -Prefix 28) foreach($Test in $TestList) { $TestCollection += [PSCustomObject]@{ Question = $Test Answer = $true } } $TestList = @(Out-SubnetRange -Subnet '192.168.100.16' -Prefix 28) foreach($Test in $TestList) { $TestCollection += [PSCustomObject]@{ Question = $Test Answer = $true } } $TestList = @(Out-SubnetRange -Subnet '172.16.20.32' -Prefix 28) foreach($Test in $TestList) { $TestCollection += [PSCustomObject]@{ Question = $Test Answer = $true } } $TestCollection += [PSCustomObject]@{ Question = '192.apple.1.1' Answer = $false } $TestCollection += [PSCustomObject]@{ Question = '255.255.255.255' Answer = $true } $TestCollection += [PSCustomObject]@{ Question = '0.0.0.0' Answer = $true } $TestCollection += [PSCustomObject]@{ Question = '172.16.324.2' Answer = $false } $TestCollection += [PSCustomObject]@{ Question = '172.16.1.2.0' Answer = $false } $TestCollection += [PSCustomObject]@{ Question = '2607:fb90:5c0:786d:cb5d:b590:8254:1b00' Answer = $false } Context "Testing return by $FunctionName" { foreach($Test in $TestCollection) { $Result = Test-IPv4Address -IPv4Address $Test.Question $TestCase = @{ Result = $Result TestResult = $Test.Answer } It "Return should be '$($Test.Answer)' for $($Test.Question)" -TestCases $TestCase { param ( $Result, $TestResult ) $Result -eq $TestResult | Should -Be $true } } } } } |