package tests::XMLSpecParserTest;

use strict;

use base qw/ Lire::Test::TestCase tests::TestStoreFixture/;

use Lire::XMLSpecParser;

sub new {
    my $self = shift()->SUPER::new( @_ );

    $self->init();

    return $self;
}


sub set_up {
    my $self = $_[0];

    $self->SUPER::set_up();
    $self->{'parser'} = new Lire::XMLSpecParser();

    $self->set_up_test_schema();

    return;
}

sub test_spec_start {
    my $self = $_[0];

    $self->{'parser'}->spec_start( 'lrsml:report-spec',
                                   { 'id' => 'x-by-y',
                                     'superservice' => 'test',
                                     'schema' => 'test-derived',
                                     'joined-schemas' => 'test test-extended'
                                   } );
    $self->assert_isa( 'Lire::ReportSpec', $self->{'parser'}{'_spec'} );
    $self->assert_str_equals( 'x-by-y', $self->{'parser'}{'_spec'}->id() );
    $self->assert_str_equals( 'test',
                              $self->{'parser'}{'_spec'}->superservice() );
    $self->assert_str_equals( 'test-derived',
                              $self->{'parser'}{'_spec'}{'schema'} );
    $self->assert_deep_equals( [ 'test', 'test-extended' ],
                               $self->{'parser'}{'_spec'}->joined_schemas() );

}

1;


syntax highlighted by Code2HTML, v. 0.9.1