use strict;
use warnings;
use Test::AutoMock qw(mock_overloaded manager);
use Test::More import => [qw(is done_testing)];

my $mock = mock_overloaded(
    'hoge->bar' => sub { 1 },
);

is $mock->hoge->bar(10, 20), 1;

manager($mock)->called_with_ok(
    'hoge->bar', [10, 20],
);
manager($mock)->called_ok('hoge->bar');
manager($mock)->not_called_ok('bar');

my $hoge = manager($mock)->child('hoge');
$hoge->called_with_ok(
    'bar', [10, 20],
);
$hoge->not_called_ok('hoge');

done_testing;