deblan/csv upgraded to the v2 and more units tests
This commit is contained in:
parent
104b25d17c
commit
31adc51188
6 changed files with 114 additions and 38 deletions
44
tests/ExampleTest.php
Normal file
44
tests/ExampleTest.php
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* class ExampleTest.
|
||||
*
|
||||
* @author Simon Vieille <simon@deblan.fr>
|
||||
*/
|
||||
class ExampleTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testExemple()
|
||||
{
|
||||
$content = shell_exec('php -f '.__DIR__.'/../example.php');
|
||||
|
||||
$this->assertEquals('<ul>
|
||||
<li>Line: 1</li>
|
||||
<li>Column: </li>
|
||||
<li>
|
||||
<p>Invalid legend.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Line: 4</li>
|
||||
<li>Column: </li>
|
||||
<li>
|
||||
<p>The line must contain 3 columns</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Line: 2</li>
|
||||
<li>Column: 1</li>
|
||||
<li>
|
||||
<p>This value is not a valid email address.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Line: 3</li>
|
||||
<li>Column: 2</li>
|
||||
<li>
|
||||
<p>This value is not a valid date.</p>
|
||||
</li>
|
||||
</ul>
|
||||
', $content);
|
||||
}
|
||||
}
|
||||
|
|
@ -16,20 +16,20 @@ class ValidatorTest extends \PHPUnit_Framework_TestCase
|
|||
$validator->isValid();
|
||||
}
|
||||
|
||||
public function testExpectedLegend()
|
||||
public function testExpectedHeaders()
|
||||
{
|
||||
$parser = $this->generateParser('example.csv');
|
||||
$parser->setHasLegend(true);
|
||||
$parser->setHasHeaders(true);
|
||||
|
||||
$validator = $this->generateValidator();
|
||||
$validator->setExpectedLegend(['foo', 'bar', 'boo']);
|
||||
$validator->validate($parser);
|
||||
$validator->setExpectedHeaders(['foo', 'bar', 'boo']);
|
||||
$validator->validate($parser->parseFile(__DIR__.'/fixtures/example.csv'));
|
||||
$this->assertEquals(true, $validator->isValid());
|
||||
$this->assertEquals(0, count($validator->getErrors()));
|
||||
|
||||
$validator = $this->generateValidator();
|
||||
$validator->setExpectedLegend(['bad', 'legend']);
|
||||
$validator->validate($parser);
|
||||
$validator->setExpectedHeaders(['bad', 'legend']);
|
||||
$validator->validate($parser->parseFile(__DIR__.'/fixtures/example.csv'));
|
||||
$this->assertEquals(false, $validator->isValid());
|
||||
$this->assertEquals(1, count($validator->getErrors()));
|
||||
}
|
||||
|
|
@ -38,7 +38,7 @@ class ValidatorTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$parser = $this->generateParser('example.csv');
|
||||
$validator = $this->generateValidator();
|
||||
$validator->validate($parser);
|
||||
$validator->validate($parser->parseFile(__DIR__.'/fixtures/example.csv'));
|
||||
$this->assertEquals(true, $validator->isValid());
|
||||
}
|
||||
|
||||
|
|
@ -47,14 +47,14 @@ class ValidatorTest extends \PHPUnit_Framework_TestCase
|
|||
$parser = $this->generateParser('example.csv');
|
||||
$validator = $this->generateValidator();
|
||||
$validator->addFieldConstraint(0, new NotBlank());
|
||||
$validator->validate($parser);
|
||||
$validator->validate($parser->parseFile(__DIR__.'/fixtures/example.csv'));
|
||||
$this->assertEquals(true, $validator->isValid());
|
||||
$this->assertEquals(0, count($validator->getErrors()));
|
||||
|
||||
$parser = $this->generateParser('example.csv');
|
||||
$validator = $this->generateValidator();
|
||||
$validator->addFieldConstraint(1, new NotBlank());
|
||||
$validator->validate($parser);
|
||||
$validator->validate($parser->parseFile(__DIR__.'/fixtures/example.csv'));
|
||||
$this->assertEquals(true, $validator->isValid());
|
||||
$this->assertEquals(0, count($validator->getErrors()));
|
||||
|
||||
|
|
@ -62,24 +62,24 @@ class ValidatorTest extends \PHPUnit_Framework_TestCase
|
|||
$validator = $this->generateValidator();
|
||||
$validator->addFieldConstraint(0, new NotBlank());
|
||||
$validator->addFieldConstraint(1, new NotBlank());
|
||||
$validator->validate($parser);
|
||||
$validator->validate($parser->parseFile(__DIR__.'/fixtures/example.csv'));
|
||||
$this->assertEquals(true, $validator->isValid());
|
||||
$this->assertEquals(0, count($validator->getErrors()));
|
||||
}
|
||||
|
||||
public function testFieldContraintsKo()
|
||||
{
|
||||
$parser = $this->generateParser('example.csv');
|
||||
$parser = $this->generateParser();
|
||||
$validator = $this->generateValidator();
|
||||
$validator->addFieldConstraint(0, new Email());
|
||||
$validator->validate($parser);
|
||||
$validator->validate($parser->parseFile(__DIR__.'/fixtures/example.csv'));
|
||||
$this->assertEquals(false, $validator->isValid());
|
||||
$this->assertEquals(2, count($validator->getErrors()));
|
||||
|
||||
$parser = $this->generateParser('example.csv');
|
||||
$parser = $this->generateParser();
|
||||
$validator = $this->generateValidator();
|
||||
$validator->addFieldConstraint(1, new Email());
|
||||
$validator->validate($parser);
|
||||
$validator->validate($parser->parseFile(__DIR__.'/fixtures/example.csv'));
|
||||
$this->assertEquals(false, $validator->isValid());
|
||||
$this->assertEquals(5, count($validator->getErrors()));
|
||||
|
||||
|
|
@ -87,14 +87,14 @@ class ValidatorTest extends \PHPUnit_Framework_TestCase
|
|||
$validator = $this->generateValidator();
|
||||
$validator->addFieldConstraint(0, new Email());
|
||||
$validator->addFieldConstraint(1, new Email());
|
||||
$validator->validate($parser);
|
||||
$validator->validate($parser->parseFile(__DIR__.'/fixtures/example.csv'));
|
||||
$this->assertEquals(false, $validator->isValid());
|
||||
$this->assertEquals(7, count($validator->getErrors()));
|
||||
}
|
||||
|
||||
protected function generateParser($file)
|
||||
protected function generateParser()
|
||||
{
|
||||
return new CsvParser(__DIR__.'/fixtures/'.$file);
|
||||
return new CsvParser();
|
||||
}
|
||||
|
||||
protected function generateValidator()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue