def test_fix_aux_factories_real_cube(real_hybrid_pressure_cube): """Test fixing of hybrid pressure coordinate on real cube.""" check_if_fix_aux_factories_is_necessary() assert not real_hybrid_pressure_cube.coords('air_pressure') _io._fix_aux_factories(real_hybrid_pressure_cube) air_pressure_coord = real_hybrid_pressure_cube.coord('air_pressure') expected_coord = AuxCoord([[[[1.0]]]], bounds=[[[[[-50000., 150002.]]]]], standard_name='air_pressure', units='Pa') assert air_pressure_coord == expected_coord
def test_fix_aux_factories_hybrid_pressure(mock_hybrid_pressure_cube): """Test fixing of hybrid pressure coordinate.""" check_if_fix_aux_factories_is_necessary() # Test with aux_factory object _io._fix_aux_factories(mock_hybrid_pressure_cube) mock_hybrid_pressure_cube.coords.assert_called_once_with() mock_hybrid_pressure_cube.coord.assert_has_calls([call(var_name='ap'), call(var_name='b'), call(var_name='ps')]) mock_hybrid_pressure_cube.add_aux_factory.assert_not_called() # Test without aux_factory object mock_hybrid_pressure_cube.reset_mock() mock_hybrid_pressure_cube.aux_factories = ['dummy'] _io._fix_aux_factories(mock_hybrid_pressure_cube) mock_hybrid_pressure_cube.coords.assert_called_once_with() mock_hybrid_pressure_cube.coord.assert_has_calls([call(var_name='ap'), call(var_name='b'), call(var_name='ps')]) mock_hybrid_pressure_cube.add_aux_factory.assert_called_once()
def test_fix_aux_factories_empty_cube(mock_empty_cube): """Test fixing with empty cube.""" check_if_fix_aux_factories_is_necessary() _io._fix_aux_factories(mock_empty_cube) assert mock_empty_cube.mock_calls == [call.coords()]