Index: trunk/tests/test_extract_data.py =================================================================== diff -u -r43 -r47 --- trunk/tests/test_extract_data.py (.../test_extract_data.py) (revision 43) +++ trunk/tests/test_extract_data.py (.../test_extract_data.py) (revision 47) @@ -7,8 +7,8 @@ from SDToolBox import main as main from SDToolBox.extract_data import ExtractData -from SDToolBox import data_acquisition -from SDToolBox import outputmessages as om +from SDToolBox.data_acquisition import InputData +import SDToolBox.outputmessages as om class Test_create: @@ -33,8 +33,10 @@ @pytest.mark.unittest def test_given_no_input_coords_then_exception_is_risen(self): # 1. Given - input_data = data_acquisition.InputData() - input_data.coord_list = [] + input_data = InputData() + input_data.input_coordinates = [] + input_data.input_years = [2014] + input_data.input_variables = ['var'] data_extractor = None expected_error = om.error_not_enough_coordinates # 2. When @@ -51,8 +53,9 @@ @pytest.mark.unittest def test_given_no_list_of_vars_then_exception_is_risen(self): # 1. Given - input_data = data_acquisition.InputData() - input_data.coord_list = [(4.2, 42)] + input_data = InputData() + input_data.input_coordinates = [(4.2, 42)] + input_data.input_years = [2014] input_data.input_variables = None data_extractor = None expected_error = om.error_no_valid_list_of_vars @@ -66,3 +69,50 @@ assert error_message == expected_error, '' + \ 'Expected exception message {},'.format(expected_error) + \ 'retrieved {}'.format(error_message) + + @pytest.mark.unittest + def test_given_no_list_of_years_then_exception_is_risen(self): + # 1. Given + input_data = InputData() + input_data.input_coordinates = [(4.2, 42)] + input_data.input_variables = ['var'] + input_data.input_years = None + data_extractor = None + expected_error = om.error_no_valid_list_of_years + # 2. When + with pytest.raises(IOError) as e_info: + data_extractor = ExtractData(input_data) + + # 3. Then + error_message = str(e_info.value) + assert data_extractor is None + assert error_message == expected_error, '' + \ + 'Expected exception message {},'.format(expected_error) + \ + 'retrieved {}'.format(error_message) + + + @pytest.mark.unittest + def test_given_valid_input_args_then_data_is_set(self): + # 1. Given + input_data = InputData() + input_data.input_coordinates = [(42, 4.2)] + input_data.input_variables = ['swh'] + input_data.input_years = [1942] + data_extractor = None + expected_lon_list, expected_lat_list = \ + zip(*input_data.input_coordinates) + + # 2. When + try: + data_extractor = ExtractData(input_data) + except Exception as e_info: + pytest.fail( + 'Exception risen {}'.format(str(e_info)) + + ' but not expected.') + + # 3. Then + assert data_extractor is not None + assert data_extractor._input_variables == input_data.input_variables + assert data_extractor._input_years == input_data.input_years + assert data_extractor._input_lon == expected_lon_list + assert data_extractor._input_lat == expected_lat_list