blob: 8fa9fd72e793465e05f3e4739ca03e9b76d27d55 [file] [log] [blame]
David Reissea2cba82009-03-30 21:35:00 +00001#
2# Licensed to the Apache Software Foundation (ASF) under one
3# or more contributor license agreements. See the NOTICE file
4# distributed with this work for additional information
5# regarding copyright ownership. The ASF licenses this file
6# to you under the Apache License, Version 2.0 (the
7# "License"); you may not use this file except in compliance
8# with the License. You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing,
13# software distributed under the License is distributed on an
14# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15# KIND, either express or implied. See the License for the
16# specific language governing permissions and limitations
17# under the License.
18#
19
T Jake Luciani1952e542009-02-01 04:47:30 +000020use Test::More tests => 6;
21
22use strict;
23use warnings;
24
25use Data::Dumper;
26
27use Thrift::BinaryProtocol;
28use Thrift::MemoryBuffer;
29
30use ThriftTest::Types;
31
32
33my $transport = Thrift::MemoryBuffer->new();
34my $protocol = Thrift::BinaryProtocol->new($transport);
35
36my $a = ThriftTest::Xtruct->new();
37$a->i32_thing(10);
38$a->i64_thing(30);
39$a->string_thing('Hello, world!');
40$a->write($protocol);
41
42my $b = ThriftTest::Xtruct->new();
43$b->read($protocol);
44is($b->i32_thing, $a->i32_thing);
45is($b->i64_thing, $a->i64_thing);
46is($b->string_thing, $a->string_thing);
47
48$b->write($protocol);
49my $c = ThriftTest::Xtruct->new();
50$c->read($protocol);
51is($c->i32_thing, $a->i32_thing);
52is($c->i64_thing, $a->i64_thing);
53is($c->string_thing, $a->string_thing);