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