InvokeHelperTest/public/Start-MyJob.test.ps1
|
function InvokeHelperTest_JobInternal_Start{ $job = Start-MyJob -Command "echo 'Hello World'" $waited = Wait-Job -Job $job Assert-AreEqual -Expected $job.Name -Presented $waited.Name $result = Receive-Job -Job $job Assert-AreEqual -Expected $job.State -Presented "Completed" Assert-AreEqual -Expected "Hello World" -Presented $result } function InvokeHelperTest_JobInternal_Start_WhatIf{ $jobs = @() $jobs += Start-MyJob -Command "return 1" -WhatIf @InfoParameters Assert-Contains -Expected "return 1" -Presented $infoVar $jobs += Start-MyJob -Command "return 2" -WhatIf @InfoParameters Assert-Contains -Expected "return 2" -Presented $infoVar $waited = Wait-Job -Job $jobs $result = Receive-Job -Job $waited Assert-isnull -Object $result } function InvokeHelperTest_JobInternal_Start_MultiCall{ $milliSeconds = 200 $number = 5 $measure = Measure-Command { $jobs = @() 1..$number | ForEach-Object { $jobs += Start-MyJob -Command "Start-Sleep -Milliseconds $milliSeconds" } $result = Wait-Job -Job $jobs Assert-Count -Expected $number -Presented $result } "Used $measure.milliseconds milliseconds to run 5 jobs of $milliseconds milliseconds." | Write-Verbose Assert-IsTrue -Condition ($measure.milliseconds -lt ($number * $milliSeconds)) } |