Sorry about all the open/closes. I finally figured out the issue in my tests. It stems from the -match statement on line 62:
$publicfunctionTests = $Publicfunctionstests.Where{$_.Name -match $PublicFunction.BaseName }
If you have functions named "Get-MyFunction" and "Get-MyFunctionAdvanced" and you have test files "Get-MyFunction.Test.ps1" and "Get-MyFunctionAdvanced.Test.ps1". The match for "Get-MyFunction" will pick up both test files.
I resolved it with the following so it includes the '.' on the match:
$publicfunctionTests = $Publicfunctionstests.Where{$_.Name -match $PublicFunction.BaseName + '\.' }