diff --git a/features/feature-io-api.feature b/features/feature-io-api.feature new file mode 100644 index 00000000..6e55453e --- /dev/null +++ b/features/feature-io-api.feature @@ -0,0 +1,25 @@ +Feature: Simple and intuitive scene loading + + The scientific user explores the data and prototypes new algorithms. + It needs access not only to the calibrated data, + but also to the raw data and probably a majority of the metadata. + The user would work with data locally, and it has to be easy to tell mpop2 where the data is. + Providing filename templates or editing config file before starting working is a pain, so it should be avoided. + + To load the data should be a simple 1-step procedure. + At load time, the user provides the data and metadata he/she needs, + and if some items are unavailable/unaccessible, + the user should be informed in a gentle but clear way (ie. no crash). + The data and metadata available from the file have to be explorable, + so that the user don’t need to guess what the (meta)data is called. + + Scenario: 1-step data loading + Given data is available + When user loads the data without providing a config file + Then scene is returned + + Scenario: No crash when metadata is missing + Given data is available + When user loads the data without providing a config file + And some items are no available + Then scene is returned diff --git a/features/steps/steps-io-api.py b/features/steps/steps-io-api.py new file mode 100644 index 00000000..fa028978 --- /dev/null +++ b/features/steps/steps-io-api.py @@ -0,0 +1,16 @@ +@given(u'data is available') +def step_impl(context): + assert False + +@when(u'user loads the data without providing a config file') +def step_impl(context): + assert False + +@then(u'scene is returned') +def step_impl(context): + assert False + +@when(u'some items are no available') +def step_impl(context): + assert False + diff --git a/setup.py b/setup.py index 6a2b50a0..a77ad75e 100644 --- a/setup.py +++ b/setup.py @@ -69,7 +69,8 @@ os.path.join('etc', 'eps_avhrrl1b_6.5.xml')])], zip_safe=False, install_requires=requires, - test_requires=["mock"], + test_requires=["mock", + 'behave'], extras_require={'xRIT': ['mipp >= 0.6.0'], 'hdf_eos': ['pyhdf'], 'viirs': ['h5py'],