1#!/usr/bin/perl -w
2package Pod::WSDL::Type;
3
4use Test::More tests => 11;
5BEGIN {use_ok('Pod::WSDL::Type')}
6use Pod::WSDL::Writer;
7use strict;
8use warnings;
9
10eval {
11	my $a1 = new Pod::WSDL::Type();
12};
13
14ok(defined $@, 'new Type dies, if it does not get a name');
15
16my $t1 = new Pod::WSDL::Type(name => 'foo', 
17	array => 1, 
18	descr => 'a description',
19	writer => new Pod::WSDL::Writer);
20
21ok($t1->name eq 'foo', 'Read name argument correctly from input');
22ok($t1->array == 1, 'Read array argument correctly from input');
23ok($t1->descr eq 'a description', 'Read descr argument correctly from input');
24ok((ref $t1->writer eq 'Pod::WSDL::Writer'), 'Read writer argument correctly from input');
25
26$t1->array(0);
27ok($t1->array == 0, 'Setting array member works');
28
29package Main;
30use Test::More;
31
32my $t2 = new Pod::WSDL::Type(name => 'foo', 
33	array => 1, 
34	descr => 'a description',
35	writer => new Pod::WSDL::Writer);
36
37eval {$t2->writer;};
38ok(defined $@, 'Type does not allow getting of writer');
39
40eval {$t2->name('bar');};
41ok(defined $@, 'Type does not allow setting of name');
42
43eval {$t2->descr('blah');};
44ok(defined $@, 'Type does not allow setting of descr');
45
46eval {$t2->writer(new Pod::WSDL::Writer);};
47ok(defined $@, 'Type does not allow setting of writer');
48