Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ScheduleXML;
- use Moose;
- use XML::Parser;
- use Data::Dumper;
- has 'number_of_tasks' => (
- is => 'rw',
- isa => 'Int',
- default => '0'
- );
- has 'filename' => ( is => 'ro', isa => 'Str' );
- sub BUILD {
- my $self = shift;
- $self->read_file;
- }
- sub read_file {
- my $self = shift;
- if (!-e $self->filename) {
- die '[-ScheduleXML-] Error opening '.$self->filename;
- }
- my $parser = new XML::Parser(Style => 'Subs');
- $parser->parsefile($self->filename) or die '[-ScheduleXML-] Error parsing '.$self->filename;
- }
- sub task {
- my $self = shift;
- my $this_tag = shift;
- my %h_Attrs = @_;
- $self->number_of_tasks($self->number_of_tasks + 1);
- }
- sub task_ {
- }
- 1;
- -----------------------NOW, the test program-----------------------------------
- #!/usr/bin/perl -w
- use strict;
- use Test::More tests=>2;
- use ScheduleXML;
- my $BASE_TEST_FILES = 'c:/SHARED/Proyectos/Sched/t/';
- my $f_ScheduleXML = ScheduleXML->new(
- filename => $BASE_TEST_FILES.'res/ScheduleXML_OK_basic.xml'
- );
- #--- Test that the filename is correct
- is (
- $f_ScheduleXML->filename,
- $BASE_TEST_FILES.'res/ScheduleXML_OK_basic.xml',
- 'The right file has been opened'
- );
- #--- Test if there are 5 tasks in the test xml file
- is (
- $f_ScheduleXML->number_of_tasks,
- 5,
- 'Found 5 tasks'
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement