more tests written, need to fix that retval problem stat

This commit is contained in:
Meredith L. Patterson 2013-12-01 22:09:45 -08:00
parent 5c5a10b5c1
commit 60d096bc16
4 changed files with 129 additions and 0 deletions

View file

@ -0,0 +1,35 @@
<?php
include_once 'hammer.php';
class NotTest extends PHPUnit_Framework_TestCase
{
protected $parser1;
protected $parser2;
protected function setUp()
{
$this->parser1 = sequence(ch("a"), choice(ch("+"), h_token("++")), ch("b"));
$this->parser2 = sequence(ch("a"), choice(sequence(ch("+"), h_not(ch("+"))), h_token("++")), ch("b"));
}
public function testSuccess1()
{
$result = h_parse($this->parser1, "a+b");
$this->assertEquals(array("a", "+", "b"), $result);
}
public function testFailure1()
{
$result = h_parse($this->parser1, "a++b");
$this->assertEquals(NULL, $result);
}
public function testSuccess2()
{
$result1 = h_parse($this->parser2, "a+b");
$result2 = h_parse($this->parser2, "a++b");
$this->assertEquals(array("a", array("+"), "b"), $result1);
$this->assertEquals(array("a", "++", "b"), $result2);
}
}
?>