deblan/csv upgraded to the v2 and more units tests

This commit is contained in:
Simon Vieille 2017-03-12 19:22:52 +01:00
commit 31adc51188
6 changed files with 114 additions and 38 deletions

View file

@ -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()