nteract / testbook

🧪 📗 Unit test your Jupyter Notebooks the right way
https://testbook.readthedocs.io
BSD 3-Clause "New" or "Revised" License
416 stars 37 forks source link

Document all the different ways we can interact with reference container objects like dict, set, list #118

Open rohitsanj opened 3 years ago

rohitsanj commented 3 years ago

We've implemented a bunch of container methods which help us do the following with reference objects:

Internal method Description
__len__ Find length of a container type object (dict, set, list)
__iter__ and __next__ Iterate through an container
__getitem__ Fetch an item by index (or key) from a container
__setitem__ Set an item's value in a container
__contains__ Find if a container... contains an item

It would be nice to have examples that show that users can directly interact with reference objects, for example:

An example for finding length would look like:

from testbook import testbook

@testbook('notebook.ipynb', execute=True)
def test_foo(tb):
    my_list = tb.ref('my_list')
    assert len(my_list) == 3 # this internally calls __len__