[Python-ideas] Shuffled

Arek Bulski arek.bulski at gmail.com
Wed Sep 7 20:14:36 EDT 2016


If you want to see the declarative tests, here it is.
https://github.com/construct/construct/blob/master/tests/test_all.py

pozdrawiam,
Arkadiusz Bulski


2016-09-08 2:13 GMT+02:00 Arek Bulski <arek.bulski at gmail.com>:

> See for yourself. There is a long list of declarative tests.
> https://github.com/construct/construct/blob/master/tests/test_all.py
>
> pozdrawiam,
> Arkadiusz Bulski
>
>
> 2016-09-08 1:28 GMT+02:00 Alexander Belopolsky <
> alexander.belopolsky at gmail.com>:
>
>>
>> On Wed, Sep 7, 2016 at 6:56 PM, Arek Bulski <arek.bulski at gmail.com>
>> wrote:
>>
>>> In the project I maintain (construct) there are declarative testcases
>>> that look like a long list of (func, args, excepted output, error type)
>>> tuples. There is no way for me to call shuffle in there.
>>
>>
>> Can you explain why?  Something like this can be easily done with pytest:
>>
>> In [1]: def foo(x):
>>    ...:     return x + 1
>>    ...:
>>
>> In [2]: import pytest
>>
>> In [3]: @pytest.mark.parametrize('x, y', [
>>    ...:     (100, 101),
>>    ...:     (200, 201),
>>    ...:     (300, 301),])
>>    ...: def test_foo(x, y):
>>    ...:     assert foo(x) == y
>>    ...:
>>
>> In [4]: test_foo.parametrize.args
>> Out[4]: ('x, y', [(100, 101), (200, 201), (300, 301)])
>>
>> In [5]: import random
>>
>> In [6]: random.shuffle(test_foo.parametrize.args[1])
>>
>> In [7]: test_foo.parametrize.args
>> Out[7]: ('x, y', [(200, 201), (100, 101), (300, 301)])
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20160908/ca23a8b5/attachment-0001.html>


More information about the Python-ideas mailing list