Mocking final classes with Mockery

Code
<?php

use PHPUnit\Framework\TestCase;

/**
 * final class that should be a mock in a test
 */
final class Foo
{
    public function bar()
    {
        return 5;
    }
}

class FinalTest extends TestCase
{
    /**
     * final class Foo is mocked
     */
    public function testFinalClassMock() : void
    {
        $foo = new Foo();
        $mock = Mockery::mock($foo);
        $mock->shouldReceive('bar')
            ->andReturn(1);
        
        $this->assertEquals(1, $mock->bar());
    }
    
    /**
     * asserts that mock is NOT an instance of Foo
     */
    public function testFinalMockExtend() : void
    {
        $foo = new Foo();
        $mock = Mockery::mock($foo);
        
        // Mock doesn't extend Foo
        $this->assertNotInstanceOf(Foo::CLASS, $mock);
    }
    
    protected function tearDown() : void
    {
        Mockery::close();
    }
}
Result
Time: 00:00.013, Memory: 18.00 MB

OK (2 tests, 0 assertions)
Used Versions
PHP 8.3, Laminas MVC 3.2, Symfony 5.2, Laravel 8.28, PHPUnit 9.5, Doctrine ORM 2.8