#!/usr/bin/perl
use strict;
use warnings;
use Test::More 'no_plan';
use ok "Mail::Summary::Tools::Summary";
use ok "Mail::Summary::Tools::Summary::List";
use ok "Mail::Summary::Tools::Summary::Thread";
my $s = Mail::Summary::Tools::Summary->new;
isa_ok( $s, "Mail::Summary::Tools::Summary" );
is_deeply( [ $s->lists ], [], "no lists yet" );
my $list = Mail::Summary::Tools::Summary::List->new( name => "awesome list" );
isa_ok( $list, "Mail::Summary::Tools::Summary::List" );
can_ok( $s, "add_lists" );
$s->add_lists( $list );
is_deeply( [ $s->lists ], [ $list ], "single list" );
can_ok( $list, "threads" );
is_deeply( [ $list->threads ], [ ], "no threads" );
my $thread = Mail::Summary::Tools::Summary::Thread->new(
message_id => 'unique@example.com',
subject => "Green things in general",
);
isa_ok( $thread, "Mail::Summary::Tools::Summary::Thread" );
can_ok( $list, "add_threads" );
$list->add_threads( $thread );
is_deeply( [ $list->threads ], [ $thread ], "single thread" );
my $yaml = $s->save;
ok( !ref($yaml), "looks like a string" );
my $mid = $thread->message_id;
like( $yaml, qr/message_id\s*:\s*\Q$mid\E/, "YAML has data in it" );