use strictures 1; use Test::More; use lib 't/lib'; use Tie::Array; use Tie::Hash; $ENV{OBJECT_REMOTE_TEST_LOGGER} = 1; use Object::Remote; use ORTestTiedRemote; my @test_data = qw(1 5 10 30 80); my $test_sum; map { $test_sum += $_ } @test_data; my $conn = Object::Remote->connect('-'); my $remote = ORTestTiedRemote->new::on($conn); isa_ok($remote, 'Object::Remote::Proxy'); my $remote_array = $remote->array; my $remote_hash = $remote->hash; is(ref($remote_array), 'ARRAY', 'Array ref is array ref'); is(ref(tied(@$remote_array)), 'Object::Remote::Proxy', 'Array is tied to proxy object'); is_deeply($remote_array, ['another value'], 'Array is initialized properly'); @$remote_array = @test_data; is($remote->sum_array, $test_sum, 'Sum of array data matches sum of test data'); is(ref($remote_hash), 'HASH', 'Hash ref is hash ref'); is(ref(tied(%$remote_hash)), 'Object::Remote::Proxy', 'Hash is tied to proxy object'); is_deeply($remote_hash, { akey => 'a value' }, 'Hash is initialized properly'); %$remote_hash = (); do { my $i = 0; map { $remote_hash->{++$i} = $_ } @test_data }; is($remote->sum_hash, $test_sum, 'Sum of hash values matches sum of test data'); done_testing;