#!/usr/bin/perl
use strict;
use warnings;
use Test::More 'no_plan';
use FindBin qw/$Bin/;
use File::Spec;
use ok "Mail::Summary::Tools::Summary";
my $file = File::Spec->catfile( $Bin, "data", "summary.yaml" );
my $summary = Mail::Summary::Tools::Summary->load( $file, thread => { default_archive => "moose" } );
isa_ok( $summary, "Mail::Summary::Tools::Summary" );
my @lists = $summary->lists;
is( scalar(@lists), 1, "one list" );
my @threads = $lists[0]->threads;
is( scalar(@threads), 1, "one thread" );
my $thread = $threads[0];
is( $thread->subject, "The Message Subject", "thread subject" );
like( $thread->summary, qr/cheese/, "the summary is correct" );
like( $thread->message_id, qr/.+\@[\w\.]+/, "message id looks ok" );
ok( $thread->extra, "extra keys were found" );
is_deeply( [ keys %{ $thread->extra } ], [ "posters" ], "posters in extra" );
is( ref( $thread->extra->{posters} ), "ARRAY", "posters is an array" );
is( $thread->default_archive, "moose", "default options provided to constructors" );
ok( $summary->extra, "summary contains extra data" );