/* [<][>][^][v][top][bottom][index][help] */
DEFINITIONS
This source file includes following definitions.
- testArguments
 - testArguments2
 - testExtraArguments
 - testShortArguments
 - testAllArgumentList
 - testInitialisation
 
cd
<?php
require_once 'PHPUnit/Framework.php';
require_once dirname(__FILE__) . '/../src/gtAutoload.php';
class gtFunctionTest extends PHPUnit_Framework_TestCase
{
  public function testArguments() {
    $f = new gtFunction('cos');
    $f->setArgumentNames();
    $m = $f->getMandatoryArgumentNames();
    $this->assertEquals($m[0], 'number');
  }
  public function testArguments2() {
    $f = new gtFunction('version_compare');
    $f->setArgumentNames();
    $m = $f->getMandatoryArgumentNames();
    $o = $f->getOptionalArgumentNames();
    $this->assertEquals($m[0], 'ver1');
    $this->assertEquals($m[1], 'ver2');
    $this->assertEquals($o[0], 'oper');
  }
  public function testExtraArguments() {
    $f = new gtFunction('version_compare');
    $f->setArgumentNames();
    $f->setExtraArgumentList();
    $this->assertEquals('$ver1, $ver2, $oper, $extra_arg', $f->getExtraArgumentList());
  }
  public function testShortArguments() {
    $f = new gtFunction('version_compare');
    $f->setArgumentNames();
    $f->setShortArgumentList();
    $this->assertEquals('$ver1', $f->getShortArgumentList());
  }
  
   public function testAllArgumentList() {
    $f = new gtFunction('version_compare');
    $f->setArgumentNames();
    $f->setValidArgumentLists();
    $a = $f->getValidArgumentLists();
    
    $this->assertEquals('$ver1, $ver2', $a[0]);
    $this->assertEquals('$ver1, $ver2, $oper', $a[1]);
  }
  
   public function testInitialisation() {
    $f = new gtFunction('version_compare');
    $f->setArgumentNames();
    $f->setInitialisationStatements();
    $a = $f->getInitialisationStatements();
    
    $this->assertEquals('$ver1 = ', $a[0]);
    $this->assertEquals('$ver2 = ', $a[1]);
    $this->assertEquals('$oper = ', $a[2]);
  }
}