tests/Set-ProcessRules.Tests.ps1
Describe "Set-ProcessRules" { BeforeEach{ . "$(Split-Path $PSScriptRoot)\src\**\CpuCore.ps1" . "$(Split-Path $PSScriptRoot)\src\**\CpuPriority.ps1" . "$(Split-Path $PSScriptRoot)\src\**\Set-ProcessRules.ps1" Function Get-ProcessRules{ return @([PSCustomObject]@{ selector = "cmd" priority = [CpuPriority]::Idle affinity = [CpuAffinity]::Core1 }) } $global:process = Start-Process (Get-ProcessRules).selector -PassThru } AfterEach{ $global:process | Stop-Process -Force } Context "functionality" { It "should_affect_given_process" { Get-ProcessRules | Set-ProcessRules -Verbose -ProcessId $global:process.Id $global:process.PriorityClass | Should -Be "Idle" $global:process.ProcessorAffinity | Should -Be $([int][CpuAffinity]::Core1) } } Context "functionality" { It "should_affect_processes" { Get-ProcessRules | Set-ProcessRules -Verbose $global:process.PriorityClass | Should -Be "Idle" $global:process.ProcessorAffinity | Should -Be $([int][CpuAffinity]::Core1) } } } |