Skip to content

Commit

Permalink
Merge branch 'master' of github.com:uzumaxy/pyvalid
Browse files Browse the repository at this point in the history
  • Loading branch information
eterey committed Oct 1, 2020
2 parents 61f0e30 + 9e7870f commit fed1cdb
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 2 deletions.
2 changes: 2 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[run]
source = ./pyvalid
3 changes: 2 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ python:
- "3.5"
- "3.6"
- "3.7"
- "3.8-dev"
- "3.8"
- "3.9-dev"

install:
- pip install codecov tox
Expand Down
67 changes: 66 additions & 1 deletion tests/test_accepts.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import unittest
from pyvalid import accepts, ArgumentValidationError
from pyvalid import accepts, ArgumentValidationError, \
InvalidArgumentNumberError
from pyvalid.validators import is_validator


Expand Down Expand Up @@ -212,6 +213,70 @@ def test_validation_func(self):
def test_docstring(self):
self.assertEqual(self.func_with_doc.__doc__, 'TEST_DOCSTRING')

def test_args_number_validation(self):
# First two arguments are missing
self.assertRaises(InvalidArgumentNumberError, self.func1)
# The second argument is missing
args = str()
self.assertRaises(InvalidArgumentNumberError, self.func1, *args)
# All arguments are optional there, so everything should be fine
try:
self.func4()
except InvalidArgumentNumberError:
self.fail(
'func4() unexpectedly raised the InvalidArgumentNumberError!'
)
try:
self.func6()
except InvalidArgumentNumberError:
self.fail(
'func4() unexpectedly raised the InvalidArgumentNumberError!'
)

def test_ordinal(self):
accepts_instance = accepts()
ordinal_func = accepts_instance._Accepts__ordinal

actual_result = ordinal_func(1)
expected_result = '1st'
self.assertEqual(actual_result, expected_result)

actual_result = ordinal_func(2)
expected_result = '2nd'
self.assertEqual(actual_result, expected_result)

actual_result = ordinal_func(3)
expected_result = '3rd'
self.assertEqual(actual_result, expected_result)

actual_result = ordinal_func(5)
expected_result = '5th'
self.assertEqual(actual_result, expected_result)

actual_result = ordinal_func(10)
expected_result = '10th'
self.assertEqual(actual_result, expected_result)

actual_result = ordinal_func(12)
expected_result = '12th'
self.assertEqual(actual_result, expected_result)

actual_result = ordinal_func(21)
expected_result = '21st'
self.assertEqual(actual_result, expected_result)

actual_result = ordinal_func(22)
expected_result = '22nd'
self.assertEqual(actual_result, expected_result)

actual_result = ordinal_func(23)
expected_result = '23rd'
self.assertEqual(actual_result, expected_result)

actual_result = ordinal_func(25)
expected_result = '25th'
self.assertEqual(actual_result, expected_result)


if __name__ == '__main__':
unittest.main()

0 comments on commit fed1cdb

Please sign in to comment.