param(
    [Parameter(Mandatory=$true)]
    [string] $FooPath
)

$foo_path = [System.IO.Path]::GetFullPath($FooPath)
if ($IsWindows) {
    $foo_path += '.exe'
}

$relative = 'test.txt'
$absolute = Join-Path (Get-Location).Path $relative

$actual = & $foo_path $relative
echo 'Actual output:'
echo $actual

$expected = $foo_path,$absolute
echo 'Expected output:'
echo $expected

if (Compare-Object $actual $expected -CaseSensitive) {
    throw 'Unexpected output'
}