require __DIR__ . '/../vendor/autoload.php'; use FUnit as fu; use Knlv\Zf2\Validator\VatNumber; fu::test('Test getValidator returns default composed validator', function () { $validator = new VatNumber(); fu::ok($validator->getValidator() instanceof Ddeboer\Vatin\Validator); }); fu::test('Test options are set', function () { $validator = new VatNumber(array('country' => 'EL', 'checkExistence' => false)); fu::equal('EL', $validator->getCountry()); fu::equal(false, $validator->getCheckExistence()); }); fu::test('Test throws exception on invalid country', function () { fu::throws(function () { $validator = new VatNumber(array('country' => 'GR')); }, array(), 'Zend\\Validator\\Exception\\InvalidArgumentException'); }); fu::test('Test validates same as composed validator', function () { $data = array(array(false, 'EL', '123456789', true), array(false, 'BE', '0123456789', true), array(true, 'NL', '987654321B01', false), array(true, 'NL', '7654321B01', false), array(true, 'BE', '01234567', false)); $validator = new VatNumber(); fu::all_ok($data, function ($values) use($validator) { $validator->setCheckExistence($values[0]); $validator->setCountry($values[1]); return $validator->isValid($values[2]) === $values[3]; }); }); fu::test('Test messages', function () { $validator = new VatNumber(); $validator->isValid("EL123456789"); fu::equal($validator->getMessages(), array('vatInvalid' => 'The VAT is invalid'));
use FUnit as fu; fu::setup(function () { // set a fixture to use in tests fu::fixture('foobar', array('foo' => 'bar')); }); fu::teardown(function () { // this resets the fu::$fixtures array. May not provide clean shutdown fu::reset_fixtures(); }); fu::test('Checking for exceptions', function () { $callback = function () { throw new RuntimeException(); }; fu::throws($callback, 'RuntimeException', 'Correct exception'); $callback = function ($foo) { throw new RuntimeException($foo); }; fu::throws($callback, array('bar'), 'LogicException', 'Not the correct exception'); }); fu::test('Forced failure', function () { fu::fail('This is a forced fail'); }); fu::test('Expected failure', function () { fu::expect_fail('This is a good place to describe a missing test'); }); fu::test('Forced Errors/Exception', function () { trigger_error('This was triggered inside a test', E_USER_ERROR); trigger_error('This was triggered inside a test', E_USER_NOTICE); throw new Exception('This was thrown inside a test'); }); fu::run();