Skip to content

Commit fed1cdb

Browse files
committed
Merge branch 'master' of github.com:uzumaxy/pyvalid
2 parents 61f0e30 + 9e7870f commit fed1cdb

File tree

3 files changed

+70
-2
lines changed

3 files changed

+70
-2
lines changed

.coveragerc

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[run]
2+
source = ./pyvalid

.travis.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ python:
66
- "3.5"
77
- "3.6"
88
- "3.7"
9-
- "3.8-dev"
9+
- "3.8"
10+
- "3.9-dev"
1011

1112
install:
1213
- pip install codecov tox

tests/test_accepts.py

+66-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import unittest
2-
from pyvalid import accepts, ArgumentValidationError
2+
from pyvalid import accepts, ArgumentValidationError, \
3+
InvalidArgumentNumberError
34
from pyvalid.validators import is_validator
45

56

@@ -212,6 +213,70 @@ def test_validation_func(self):
212213
def test_docstring(self):
213214
self.assertEqual(self.func_with_doc.__doc__, 'TEST_DOCSTRING')
214215

216+
def test_args_number_validation(self):
217+
# First two arguments are missing
218+
self.assertRaises(InvalidArgumentNumberError, self.func1)
219+
# The second argument is missing
220+
args = str()
221+
self.assertRaises(InvalidArgumentNumberError, self.func1, *args)
222+
# All arguments are optional there, so everything should be fine
223+
try:
224+
self.func4()
225+
except InvalidArgumentNumberError:
226+
self.fail(
227+
'func4() unexpectedly raised the InvalidArgumentNumberError!'
228+
)
229+
try:
230+
self.func6()
231+
except InvalidArgumentNumberError:
232+
self.fail(
233+
'func4() unexpectedly raised the InvalidArgumentNumberError!'
234+
)
235+
236+
def test_ordinal(self):
237+
accepts_instance = accepts()
238+
ordinal_func = accepts_instance._Accepts__ordinal
239+
240+
actual_result = ordinal_func(1)
241+
expected_result = '1st'
242+
self.assertEqual(actual_result, expected_result)
243+
244+
actual_result = ordinal_func(2)
245+
expected_result = '2nd'
246+
self.assertEqual(actual_result, expected_result)
247+
248+
actual_result = ordinal_func(3)
249+
expected_result = '3rd'
250+
self.assertEqual(actual_result, expected_result)
251+
252+
actual_result = ordinal_func(5)
253+
expected_result = '5th'
254+
self.assertEqual(actual_result, expected_result)
255+
256+
actual_result = ordinal_func(10)
257+
expected_result = '10th'
258+
self.assertEqual(actual_result, expected_result)
259+
260+
actual_result = ordinal_func(12)
261+
expected_result = '12th'
262+
self.assertEqual(actual_result, expected_result)
263+
264+
actual_result = ordinal_func(21)
265+
expected_result = '21st'
266+
self.assertEqual(actual_result, expected_result)
267+
268+
actual_result = ordinal_func(22)
269+
expected_result = '22nd'
270+
self.assertEqual(actual_result, expected_result)
271+
272+
actual_result = ordinal_func(23)
273+
expected_result = '23rd'
274+
self.assertEqual(actual_result, expected_result)
275+
276+
actual_result = ordinal_func(25)
277+
expected_result = '25th'
278+
self.assertEqual(actual_result, expected_result)
279+
215280

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

0 commit comments

Comments
 (0)