コード例 #1
0
def test_string_input():
    # year, month, hour
    parameter = TimeComponentsParameter(
        "year:1999,2000,2001|month:dec,jan,feb|hour:00")
    assert parameter.value["year"] == [1999, 2000, 2001]
    assert parameter.value["month"] == [12, 1, 2]
    assert parameter.value["hour"] == [0]
    assert parameter.get_bounds() == ("1999-01-01T00:00:00",
                                      "2001-12-31T23:59:59")
    # month
    parameter = TimeComponentsParameter("month:12,1,02")
    assert parameter.value["month"] == [12, 1, 2]
    assert parameter.get_bounds() == (None, None)
    # single year
    parameter = TimeComponentsParameter("year:2010|month:mar,apr,may")
    assert parameter.value["year"] == [2010]
    assert parameter.value["month"] == [3, 4, 5]
    assert parameter.get_bounds() == ("2010-01-01T00:00:00",
                                      "2010-12-31T23:59:59")
コード例 #2
0
def test_time_components_input():
    tc = time_components(**tc_dict)
    parameter = TimeComponentsParameter(tc)
    assert parameter.value == tc_dict
コード例 #3
0
def test_dict():
    for input_dct in (tc_dict, tc_dict_short_names, tc_dict_month_long_names):
        parameter = TimeComponentsParameter(input_dct)
        assert parameter.value == tc_dict
コード例 #4
0
def test_bad_type_input():
    with pytest.raises(InvalidParameterValue) as exc:
        TimeComponentsParameter(34)
    assert str(exc.value) == type_error.format("class 'int'")
コード例 #5
0
def test_validate_error_id():
    with pytest.raises(InvalidParameterValue) as exc:
        TimeComponentsParameter("I am rubbish")
    assert str(exc.value
               ) == "Cannot create TimeComponentsParameter from: I am rubbish"
コード例 #6
0
def test_raw():
    parameter = TimeComponentsParameter(tc_str)
    assert parameter.raw == tc_str
コード例 #7
0
def test__str__():
    parameter = TimeComponentsParameter(tc_str)
    assert str(parameter).startswith("Time components to select:")
    assert "month => [12, 1, 2]" in str(parameter)
コード例 #8
0
def test_class_instance():
    parameter = TimeComponentsParameter(tc_str)
    new_parameter = TimeComponentsParameter(parameter)
    assert new_parameter.value == tc_dict
コード例 #9
0
def test_none():
    parameter = TimeComponentsParameter(None)
    assert parameter.value is None
コード例 #10
0
def test_empty_string():
    parameter = TimeComponentsParameter("")
    assert parameter.value is None
コード例 #11
0
def test_whitespace():
    parameter = TimeComponentsParameter(tc_str + "   ")
    assert parameter.value == tc_dict