tools/Test_Helper/public/testResults.ps1

function Test-Result{
    [CmdletBinding()]
    [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidGlobalVars', '', Scope='Function')]
    [OutputType([bool])]
    param(
        [Parameter(ValueFromPipeline)][object]$Result,
        [Parameter()][switch]$SkippedNotAllowed,
        [Parameter()][switch]$NotImplementedNotAllowed
    )

    process{
        # Chek results from last run
        $Result = $Result ?? $Global:ResultTestingHelper
        
        if($SkippedNotAllowed -and $Result.Skipped -gt 0){
            return $false
        }
        
        if($NotImplementedNotAllowed -and $Result.NotImplemented -gt 0){
            return $false
        }
        
        # Allow Not Implemented and Skipped tests to pass
        $passed = $Result.Tests -eq $Result.Pass + $Result.NotImplemented + $Result.Skipped
        
        return $passed
    }
} Export-ModuleMember -Function Test-Result