summaryrefslogtreecommitdiffstats
path: root/t/lib/Test/Games/SMTNocturne/Demons.pm
blob: 5ccd8ac392c384f80b0d8bcec6e77a29505bf1a7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package Test::Games::SMTNocturne::Demons;
use strict;
use warnings;
use Exporter 'import';

use Games::SMTNocturne::Demons;
use Test::More;

our @EXPORT = ('fusion_is');

sub fusion_is {
    local $Test::Builder::Level = $Test::Builder::Level + 1;
    my ($demon1, $demon2, $expected) = @_;

    my $fused = eval { Games::SMTNocturne::Demons::fuse($demon1, $demon2) };

    die $@ if $@ && $@ !~ /\bnyi\b/;
    local $TODO = $@ if $@;

    if ($fused) {
        is($fused->name, $expected);
    }
    else {
        is(undef, $expected);
    }
}

1;