Skip to content

Commit

Permalink
Add repr method and several tests (#5)
Browse files Browse the repository at this point in the history
* Add representation of TrafaretValidator

* Add smoke tests
  • Loading branch information
cleac authored and vmorkovyn committed Mar 23, 2018
1 parent 10fb193 commit bf0dd56
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 1 deletion.
4 changes: 3 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,6 @@ def read(fname):
url='https://github.com/Lex0ne/trafaret_validator',
packages=["trafaret_validator"],
install_requires=['trafaret'],
include_package_data=True,)
test_suite='tests',
include_package_data=True,
)
Empty file added tests/__init__.py
Empty file.
26 changes: 26 additions & 0 deletions tests/test_smoke.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from unittest import TestCase

import trafaret as t

from trafaret_validator import TrafaretValidator


class ValidatorForTest(TrafaretValidator):
d = t.Int()


class TestTrafaretValidator(TestCase):

def test_valid(self):
data = {'d': 1}
vld_good = ValidatorForTest(**data)
self.assertTrue(vld_good.validate())
self.assertEqual(data, vld_good.data)
self.assertEqual({}, vld_good.errors)

def test_invalid(self):
data = {'d': 'asdasdasd'}
vld_good = ValidatorForTest(**data)
self.assertFalse(vld_good.validate())
self.assertEqual({}, vld_good.data)
self.assertIn('d', vld_good.errors)
10 changes: 10 additions & 0 deletions trafaret_validator/validator.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,3 +90,13 @@ def validate(self):
except t.DataError as error:
self._errors = error.as_dict()
return False

def __repr__(self):
return '<TrafaretValidator ' \
'is-data-valid={validation_result} ' \
'data={data} ' \
'errors={errors}>'.format(
validation_result=self.validate(),
data=self._data,
errors=self._errors,
)

0 comments on commit bf0dd56

Please sign in to comment.