6 use Test::More tests => 19 + 2 * 14;
11 use LaTeX::TikZ::TestHelper;
13 using Tikz->formatter(
20 is $@, '', 'creating a raw set doesn\'t croak';
22 check $foo, 'one raw set', <<'RES';
27 Tikz->seq($foo, $foo);
29 is $@, '', 'creating a 2-sequence doesn\'t croak';
31 check $seq2, 'two identical raw sets', <<'RES';
39 is $@, '', 'creating another raw set doesn\'t croak';
42 Tikz->seq($foo, $bar);
44 is $@, '', 'creating another 2-sequence doesn\'t croak';
46 check $seq2, 'two different raw sets', <<'RES';
52 Tikz->seq($bar, $seq2, $foo);
54 is $@, '', 'creating a complex sequence doesn\'t croak';
56 check $seq3, 'two different raw sets and a sequence', <<'RES';
66 is $@, '', 'creating yet another raw set doesn\'t croak';
71 like $@, qr/Can't locate object method "add"/,
72 'adding something to a raw set croaks';
75 $seq2->add($baz, $baz);
77 is $@, '', 'adding something to a sequence set doesn\'t croak';
79 check $seq3, 'two different raw sets and an extended sequence', <<'RES';
91 is $@, '', 'creating an empty sequence doesn\'t croak';
93 check $seq4, 'an empty sequence', '';
98 is $@, '', 'creating a sequence that contains an empty sequence doesn\'t croak';
100 check $seq4, 'a sequence that contains an empty sequence', '';
103 Tikz->seq($foo, Tikz->seq);
106 'creating a sequence that contains a set and an empty sequence doesn\'t croak';
108 check $seq4, 'a sequence that contains a set and an empty sequence', <<'RES';
113 Tikz->seq(Tikz->seq, $foo);
116 'creating a sequence that contains an empty sequence and a set doesn\'t croak';
118 check $seq4, 'a sequence that contains an empty sequence and a set', <<'RES';
123 Tikz->seq($foo, $bar, Tikz->seq);
126 'creating a sequence that contains 2 sets and an empty sequence doesn\'t croak';
128 check $seq4, 'a sequence that contains 2 sets and an empty sequence', <<'RES';
134 Tikz->seq($foo, Tikz->seq, $bar);
136 is $@, '', 'creating a sequence that contains a set, an empty sequence, a set doesn\'t croak';
138 check $seq4, 'a sequence that contains a set, an empty sequence, a set',<<'RES';
144 Tikz->seq(Tikz->seq, $foo, $bar);
147 'creating a sequence that contains an empty sequence and 2 sets';
149 check $seq4, 'a sequence that contains an empty sequence and 2 sets', <<'RES';
156 qr/Validation failed for '\Q$tc\E'/;
160 Tikz->path($foo, $seq2);
162 like $@, failed_valid('Maybe[ArrayRef[LaTeX::TikZ::Set::Op]]'),
163 'creating a path that contains a sequence croaks';
166 Tikz->path($foo, $bar, $baz);
168 is $@, '', 'creating a path set doesn\'t croak';
170 check $path, 'one path set', <<'RES';
177 is $@, '', 'adding something to a path set doesn\'t croak';
179 check Tikz->seq($path, $path), 'two identical path sets', <<'RES';
180 \draw foo bar baz foo ;
181 \draw foo bar baz foo ;
187 like $@, failed_valid('LaTeX::TikZ::Set::Op'),
188 'adding a sequence to a path croaks';