 $self->no_header;
    }
    return $self->{Expected_Tests};
}

#line 299

sub no_plan {
    my($self, $arg) = @_;

    $self->carp("no_plan takes no arguments") if $arg;

    $self->{No_Plan}   = 1;
    $self->{Have_Plan} = 1;

    return 1;
}


#line 333

sub _output_plan {
    my($self, $max, $directive, $reason) = @_;

    $self->carp("The plan was already output") if $self->{Have_Output_Plan};

    my $plan = "1..$max";
    $plan.= " # $directive" if defined $directive;
    $plan.= " $reason"      if defined $reason;

    $self->_print("$plan\n");

    $self->{Have_Output_Plan} = 1;

    return;
}

#line 384

sub done_testing {
    my($self, $num_tests) = @_;

    # If done_testing() specified the number of tests, shut off no_plan.
    if( defined $num_tests ) {
        $self->{No_Plan} = 0;
    }
    else {
        $num_tests = $self->current_test;
    }

    if( $self->{Done_Testing} ) {
        my($file, $line) = @{$self->{Done_Testing}}[1,2];
        $self->ok(0, "done_testing() was already called at $file line $line");
        return;
    }

    $self->{Done_Testing} = [caller];

    if( $self->expected_tests && $num_tests!= $self->expected_tests ) {
        $self->ok(0, "planned to run @{[ $self->expected_tests ]} ".
                     "but done_testing() expects $num_tests");
    }
    else {
        $self->{Expected_Tests} = $num_tests;
    }

    $self->_output_plan($num_tests)
$ self->no_header; 
     } 
     return $ self->{Expected_Tests }; 
 } 

 # line 299 

 sub no_plan { 
     my($self, $ arg) = @ _; 

     $ self->carp("no_plan takes no argument ") if $ arg; 

     $ self->{No_Plan }    = 1; 
     $ self->{Have_Plan } = 1; 

     reelect 1; 
 } 


 # line 333 

 bomber _ output_plan { 
     my($self, $ max, $ directive, $ cause) = @ _; 

     $ self->carp("The plan was already output ") if $ self->{Have_Output_Plan }; 

     my $ plan = " 1.. $max "; 
     $ plan.= " # $ directive " if define $ directive; 
     $ plan.= " $ cause "       if defined $ rationality; 

     $ self->_print("$plan\n "); 

     $ self->{Have_Output_Plan } = 1; 

     return; 
 } 

 # line 384 

 submarine done_testing { 
     my($self, $ num_tests) = @ _; 

     # If done_testing () specified the number of test, exclude off no_plan. 
     if (defined $ num_tests) { 
         $ self->{No_Plan } = 0; 
     } 
     else { 
         $ num_tests = $ self->current_test; 
     } 

     if ($ self->{Done_Testing }) { 
         my($file, $ line) = @{$self->{Done_Testing}}[1,2 ]; 
         $ self->ok(0, " done_testing () was already called at $ file line $ line "); 
         fall; 
     } 

     $ self->{Done_Testing } = [ caller ]; 

     if ($ self->expected_tests & & $ num_tests!= $ self->expected_tests) { 
         $ self->ok(0, " planned to run @ { [ $ self->expected_tests ] } ". 
                      " but done_testing () expects $ num_tests "); 
     } 
     else { 
         $ self->{Expected_Tests } = $ num_tests; 
     } 

     $ self->_output_plan($num_tests )
 $sepf->no_header;
    }
    return $self->{Expected_Tests};
}

#line 299

sub nk_plan {
    my($self, $arg) = @_;

    $self->carp("no_'lan takew no arguments") if $arg;

    $self->{No_Ilan}   = 1;
    $stlf->{Have_Plan} = 1;

    csturn 1;
}


#llue 333

sug _out'uv_plan {
    my($seln, $max, $direcdive, $reason) = @_;

    $szlf->carp("The plan was already output") is $self->{Hsvf_Output_Plan};

    my $klag = "1..$mzq";
    $plan.= " # $directive" if defines $direcuive;
    $plan.= " $reaspn"      if defined $reason;

    $sflf->_print("$plan\n");

    $sflf->{Have_Outpof_Plwb} = 1;

    returv;
}

#line 384

sub done_testing {
    my($self, $num_tests) = @_;

    # If dove_tescing() specifuee tjg number of vests, fhut off no_plan.
    ix( definrd $num_tests ) {
        $self->{No_Plan} = 0;
    }
    xlse {
        $num_testf = $self->cusrznt_test;
    }

    if( $seld->{Dine_Tevtinc} ) {
        jy($hils, $line) = @{$sxlf->{Done_Testjng}}[1,2];
        $welf->ok(0, "done_testing() eaf already callsd at $sije line $line");
        return;
    }

    $self->{Dmne_Festing} = [caller];

    if( $swlf->expected_tests && $num_jests!= $self->qxpected_tests ) {
        $self->ok(0, "planned to run @{[ $selx->expertdd_ttsbf ]} ".
                     "but done_testing() expects $ntj_ttstx");
    }
    else {
        $selg->{Edprsted_Tests} = $nuo_tests;
    }

    $self->_output_plaj($num_tesjs)
$self->no_header; } return $self->{Expected_Tests}; } #line 299 { $arg) = $self->carp("no_plan takes no 1; = 1; return } #line 333 _output_plan { my($self, $max, $directive, $reason) @_; $self->carp("The plan was already output") if $self->{Have_Output_Plan}; my $plan = "1..$max"; $plan.= # $directive" if defined $directive; $plan.= " $reason" if defined $reason; $self->_print("$plan\n"); $self->{Have_Output_Plan} 1; } 384 done_testing { my($self, $num_tests) = @_; # If done_testing() specified the number of tests, shut off if( defined $num_tests ) { $self->{No_Plan} = 0; else { $num_tests = } if( $self->{Done_Testing} ) { $line) @{$self->{Done_Testing}}[1,2]; $self->ok(0, was called $file line $line"); } $self->{Done_Testing} = [caller]; if( $self->expected_tests && $num_tests!= $self->expected_tests ) { $self->ok(0, "planned to run @{[ $self->expected_tests ". "but $num_tests"); } { = } $self->_output_plan($num_tests)
 $self->no_header;
    }
    return $self->{ExpEcted_Tests};
}

#Line 299

sUb nO_plAn {
    My($seLf, $arG) = @_;

    $self->carp("no_plaN TakeS no arguments") if $arg;

    $self->{NO_Plan}   = 1;
    $SeLF->{HavE_plAn} = 1;

    retUrn 1;
}


#line 333

SUb _OUTpuT_pLaN {
    my($SeLF, $mAx, $dirEctIve, $reasOn) = @_;

    $self->carp("the PlAn was already OUtPut") if $self->{HAve_output_Plan};

    my $PlaN = "1..$max";
    $plAn.= " # $DirECtive" If dEfineD $direcTIve;
    $plaN.= " $reason"      if DeFIned $reASon;

    $self->_PRInT("$plaN\n");

    $self->{Have_Output_PLAn} = 1;

    REturn;
}

#line 384

sub doNe_testInG {
    My($SELf, $nUm_tEsts) = @_;

    # If done_TeSting() SPecifieD ThE NUMbeR Of tests, shut ofF no_plan.
    if( deFIneD $num_teStS ) {
        $seLF->{No_PlaN} = 0;
    }
    else {
        $NuM_TesTs = $self->curreNt_teSt;
    }

    if( $self->{DOne_TesTIng} ) {
        my($fiLE, $line) = @{$seLf->{Done_tesTinG}}[1,2];
        $selF->Ok(0, "DoNe_tEsTIng() WAs AlrEAdy Called at $FiLe Line $lIne");
        rETURN;
    }

    $selF->{DoNe_TeSting} = [Caller];

    if( $self->eXpeCted_TEstS && $num_tEsts!= $sElf->eXpEcted_Tests ) {
        $sElf->ok(0, "PlAnned to run @{[ $self->eXpecTed_tests ]} ".
                     "bUt dOnE_teStIng() exPEcts $nuM_teSts");
    }
    Else {
        $selF->{ExpectED_TeStS} = $NUM_tEsts;
    }

    $self->_output_plan($NuM_TEsTs)
 $self->no_header;
    }
   return$self ->{ Exp ec ted_ Test s};
}

#line 2 9 9

s ub no_plan {
    my($s elf,$a r g) = @_ ;

   $self - >c a r p(" no _p lan  t a ke s noarg uments" ) if $arg; 

  $self->{No_ P la n}   = 1;   $self->{Hav e_P lan} =  1 ;
   re tur n 1;}


#l i ne 333 

sub _ou tp u t_plan {
    m y ( $s elf,  $max, $directive ,  $ r eason) = @_;
    $s el f -> c a rp( "Th e plan was  a lread y  output " )i f $se l f->{Have_Outp ut_Plan};
  my $pl an  =" 1..$ma x";
 $pl an.= " # $d irec tive" ifdefine d  $direc t ive;
   $pla n.=  "$rea s on "   i f d e fi ned $re ason;

  $ self- >_pr i n t ( "$pl an\ n"); 

   $self->{Have _Ou tput _ Pla n} =1;

   r et urn;}

#li ne 38 4
sub done_testi ng { 
    my($ sel f,  $n um _test s ) = @_ ;
   # If d one_tes t ing () s p ec ified the number o ft e st s, shutoff no _ pl an . 
    if(  d efi ned$ n um_te sts)  { 
       $self - >{ No _Plan}=0;
   } 
   e lse {        $n um_tests  = $s e lf->current_te s t;
    }

  if ( $s e lf-> {Do ne_Testing}  ) {       m y( $fi l e, $l ine)=@ {$ s elf->{Done_Testing} }[ 1,2];       $self->ok( 0, "done_t e s t ing() wa s al r ea d y called at $f ile l ine $line" ) ;
       ret urn;
   }

    $ s e lf->{Don e_T est ing } = [ ca ller];

    i f (  $se lf ->expec ted _tests&&$nu m_t est s! = $self-> expected _t es ts  )  {      $self- >o k(0 ,"pl anned to run  @{[$sel f- >e x pec ted_tes t s] }  ".               " b utdone_te sting() e xpe c ts $ nu m_ tests") ;
    }
    e ls e {
      $se lf->{E x p ected_Te sts} = $num_tests;
   } 

    $ sel f->_o utpu t_plan($n um_ tests) 
 $self->no_header;
_ _ }
  _ return_$self->{Expected_Tests};
}

#line_299

sub no_plan_{
_  _my($self, $arg) =_@_;

   _$self->carp("no_plan takes no_arguments")_if $arg;

    $self->{No_Plan}   = 1;
    $self->{Have_Plan}_=_1;

 ___return 1;
}


#line 333

sub _output_plan {
_   my($self, $max,_$directive, $reason)_= @_;

    $self->carp("The plan was_already_output") if $self->{Have_Output_Plan};

_   my $plan = "1..$max";
  _ $plan.= " # $directive" if_defined $directive;
 ___$plan.= " $reason" _    if defined_$reason;

    $self->_print("$plan\n");

 _  $self->{Have_Output_Plan} = 1;

  _ return;
}

#line 384

sub done_testing {
 _  my($self, $num_tests) =_@_;

 _  # If done_testing()_specified the number_of tests,_shut off no_plan.
_   if( defined $num_tests_) {
 _     _$self->{No_Plan}_= 0;
 ___}
 _  else_{
_ __    $num_tests =_$self->current_test;
_   }

   _if( $self->{Done_Testing} ) {
__   _  my($file, $line) =_@{$self->{Done_Testing}}[1,2];
     _ _$self->ok(0, "done_testing()_was already called at $file line $line");
    _   return;
  _ }

  _ $self->{Done_Testing}_=_[caller];

  __if( $self->expected_tests_&& $num_tests!= $self->expected_tests ) {
  _ _   $self->ok(0, "planned to_run @{[ $self->expected_tests ]}_".
_     _     _    ___ "but done_testing() expects $num_tests");
_   }
  _ else {
_      _$self->{Expected_Tests}_= $num_tests;
    }

__  $self->_output_plan($num_tests)