Tests/GenXdev.Coding.Templating/Add-ArrayTemplate.Tests.ps1
|
############################################################################### Pester\Describe 'Add-ArrayTemplate' { Pester\It 'should work as expected' { Microsoft.PowerShell.Core\Import-Module GenXdev.Coding -Force $array = @( @{ Name = "John Doe" Count = 500 }, @{ Name = "Jane Doe"; Count = 1000 } ) $template = '$Name has $Count items' $delimiter = "" $endDelimiter = $false $indentation = 0 $newLine = $true $result = GenXdev.Coding\Add-ArrayTemplate $array $template $delimiter $indentation $newLine $endDelimiter $result | PESTER\Should -BeExactly @" John Doe has 500 items Jane Doe has 1000 items "@ $delimiter = "," $indentation = 2 $newLine = $true $result = GenXdev.Coding\Add-ArrayTemplate $array $template $delimiter $indentation $newLine $endDelimiter $result | PESTER\Should -BeExactly @" John Doe has 500 items, Jane Doe has 1000 items "@ $template = '[$Name]' $delimiter = ", >" $endDelimiter = $true $indentation = 0 $newLine = $false $result = GenXdev.Coding\Add-ArrayTemplate $array $template $delimiter $indentation $newLine $endDelimiter $result | PESTER\Should -BeExactly @" [John Doe], >[Jane Doe], > "@ $template = '[$Name]' $delimiter = ", >" $endDelimiter = $true $indentation = 0 $newLine = $false $result = GenXdev.Coding\Add-ArrayTemplate @() $template $delimiter $indentation $newLine $endDelimiter $result | PESTER\Should -BeExactly ([String]::Empty) } Pester\It 'should expose $_ and $PSItem variables' { Microsoft.PowerShell.Core\Import-Module GenXdev.Coding -Force $array = @( @{ Name = "First" Type = "Column" }, @{ Name = "Second" Type = "Index" } ) $template = '[t].[$_]' $delimiter = ', ' $result = GenXdev.Coding\Add-ArrayTemplate ($array | Microsoft.PowerShell.Core\ForEach-Object { $_.Name }) $template $delimiter $result | PESTER\Should -BeExactly '[t].[First], [t].[Second]' $template = '$PSItem' $array = @("First", "Second") $result = GenXdev.Coding\Add-ArrayTemplate $array $template $delimiter $result | PESTER\Should -BeExactly 'First, Second' } } |