I am trying to create a unit test in python that has a data provider. As the unittest library does not support this nativity, I'm using the unittest_data_provider package. I'm getting an error, and am not sure where it is coming from (I'm new to python).
My code
import unittest
from wikibase.dataModel.item_id import ItemId
from unittest_data_provider import data_provider
class TestItemId(unittest.TestCase):
itemIds = lambda: (
( 'q42' ),
( 'Q42' ),
( 'Q1' ),
( 'Q1000' ),
( 'Q31337' ),
)
@data_provider(itemIds)
def test_constructor(self, itemString):
itemId = ItemId(itemString)
self.assertEqual(itemId.getSerialization(), itemString)
The error I get:
File "/usr/local/lib/python3.3/dist-packages/unittest_data_provider/init.py", line 7, in repl fn(self, *i) TypeError: test_constructor() takes 2 positional arguments but 4 were given
This is using python 3.3.