Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added codetools/contexts/tests/data/data_context.pickle
Binary file not shown.
31 changes: 30 additions & 1 deletion codetools/contexts/tests/data_context_test_case.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,33 @@

# Standard Library Imports
from io import BytesIO
import os
import sys

from importlib_resources import files
import nose

# Local library imports
from codetools.contexts.data_context import DataContext
from codetools.contexts.tests.abstract_context_test_case import AbstractContextTestCase


def _create_data_context_pickle():
""" Used to create a pickled DataContext stored in
codetools/contexts/tests/data/data_context.pickle.

Function is kept for reference. Do not rerun unless you need to override
the existing pickled DataContext to be tested.
"""
d = DataContext(name='test_context')
d['a'] = 1
d['b'] = 2

filename = os.fspath(
files('codetools.contexts.tests') / 'data' / 'data_context.pickle'
)
d.save(filename)

class DataContextTestCase(AbstractContextTestCase):

#### AbstactContextTestCase interface ######################################
Expand Down Expand Up @@ -41,6 +59,18 @@ def test_persistence():
assert set(d2.keys()) == set(['a', 'b'])
assert d2['a'] == d['a']
assert d2['b'] == d['b']


def test_persistence_backwards_compatibility():
filename = os.fspath(
files('codetools.contexts.tests') / 'data' / 'data_context.pickle'
)
d = DataContext.load(filename)

assert d.name == 'test_context'
assert set(d.keys()) == set(['a', 'b'])
assert d['a'] == 1
assert d['b'] == 2


class RestrictedValues(DataContext):
Expand Down Expand Up @@ -118,4 +148,3 @@ class _TestContext(DataContext):

assert a == b
assert a != c

1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@ def write_version_py(filename='codetools/_version.py'):
package_data={
'codetools': [
'contexts/images/*.png',
'contexts/tests/data/*',
'contexts/tests/with_mask_codes*.py',
],
},
Expand Down