# ArithmeticFixture.pm # # Copyright (c) 2002-2005 Cunningham & Cunningham, Inc. # Released under the terms of the GNU General Public License version 2 or later. # # Perl translation by Dave W. Smith # Modified by Tony Byrne package Test::C2FIT::eg::ArithmeticFixture; use base 'Test::C2FIT::PrimitiveFixture'; sub new { my $pkg = shift; return $pkg->SUPER::new(x => 0, y => 0, @_); } sub doRows { my $self = shift; my($rows) = @_; # skip column heads $self->SUPER::doRows($rows->more()); } sub doCell { my $self = shift; my($cell, $column) = @_; if ( $column == 0 ) { $self->{'x'} = 0 + $cell->text(); } elsif ( $column == 1 ) { $self->{'y'} = 0 + $cell->text(); } elsif ( $column == 2 ) { $self->checkValue($cell, $self->{'x'} + $self->{'y'}); } elsif ( $column == 3 ) { $self->checkValue($cell, $self->{'x'} - $self->{'y'}); } elsif ( $column == 4 ) { $self->checkValue($cell, $self->{'x'} * $self->{'y'}); } elsif ( $column == 5 ) { $self->checkValue($cell, $self->{'x'} / $self->{'y'}); } else { $self->ignore($cell); } } 1;