Merge branch 'pull-49'
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 17cc2e3..5140586 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -2,6 +2,8 @@
* Make sure that `setUp` and `tearDown` methods work correctly (#40)
* Raise a ValueError when input is empty (thanks @danielbradburn;
https://github.com/wolever/parameterized/pull/48)
+ * Fix the order when number of cases exceeds 10 (thanks @ntflc;
+ https://github.com/wolever/parameterized/pull/49)
0.6.1 (2017-03-21)
* Rename package from nose-parameterized to parameterized. A
diff --git a/parameterized/parameterized.py b/parameterized/parameterized.py
index 775a1cd..2b6aa78 100644
--- a/parameterized/parameterized.py
+++ b/parameterized/parameterized.py
@@ -478,8 +478,9 @@
)
return wraps(f)(lambda: skip_on_empty_helper())
+ digits = len(str(len(paramters) - 1))
for num, p in enumerate(paramters):
- name = name_func(f, num, p)
+ name = name_func(f, "{num:0>{digits}}".format(digits=digits, num=num), p)
# If the original function has patches applied by 'mock.patch',
# re-construct all patches on the just former decoration layer
# of param_as_standalone_func so as not to share
@@ -487,6 +488,7 @@
nf = reapply_patches_if_need(f)
frame_locals[name] = cls.param_as_standalone_func(p, nf, name)
frame_locals[name].__doc__ = doc_func(f, num, p)
+
# Delete original patches to prevent new function from evaluating
# original patching object as well as re-constructed patches.
delete_patches_if_need(f)
diff --git a/parameterized/test.py b/parameterized/test.py
index f470127..4193e6e 100644
--- a/parameterized/test.py
+++ b/parameterized/test.py
@@ -394,3 +394,10 @@
def test_with_docstring(input):
""" Docstring! """
pass
+
+
+cases_over_10 = [(i, i+1) for i in range(11)]
+
+@parameterized(cases_over_10)
+def test_cases_over_10(input, expected):
+ assert_equal(input, expected-1)