1 package LaTeX::TikZ::TestHelper;
10 Mouse::Exporter->setup_import_methods(
11 as_is => [ qw<using check is_point_ok> ],
17 $tikz = $_[0] if defined $_[0];
23 my ($set, $desc, $exp) = @_;
25 local $Test::Builder::Level = $Test::Builder::Level + 1;
27 my ($head, $decl, $body) = eval {
28 $tikz->render(ref $set eq 'ARRAY' ? @$set : $set);
30 Test::More::is($@, '', "$desc: no error");
32 unless (ref $exp eq 'ARRAY') {
33 $exp = [ split /\n/, $exp ];
35 unshift @$exp, '\begin{tikzpicture}';
36 push @$exp, '\end{tikzpicture}';
38 Test::More::is_deeply($body, $exp, "$desc: body");
40 return $head, $decl, $body;
44 my ($p, $x, $y, $desc) = @_;
46 my $ok = Test::More::isa_ok($p, 'LaTeX::TikZ::Point', "$desc isa point");
48 Test::More::cmp_ok($p->x, '==', $x, "$desc x coordinate is right");
49 Test::More::cmp_ok($p->y, '==', $y, "$desc y coordinate is right");
51 Test::More::fail("$desc placeholder $_") for 1, 2;