def test_data_frequency_total_ordering(valid_frequencies):
    assert len(valid_frequencies) == 10

    for idx_1, f1 in enumerate(valid_frequencies):
        for idx_2, f2 in enumerate(valid_frequencies):
            freq1 = DataFrequency(frequency=f1)
            freq2 = DataFrequency(frequency=f2)

            if idx_1 > idx_2:
                assert freq1 > freq2

            if idx_1 < idx_2:
                assert freq1 < freq2

            if idx_1 == idx_2:
                assert freq1 == freq2

            if idx_1 != idx_2:
                assert freq1 != freq2

            if idx_1 <= idx_2:
                assert freq1 <= freq2

            if idx_1 >= idx_2:
                assert freq1 >= freq2
 def data_frequency(self, dataset_file: DatasetFile) -> DataFrequency:
     """
     Get the data frequency from config
     :param dataset_file: The dataset file to use
     :return: the desired data frequency
     """
     frequency = self.config_item(dataset_file, "Dataset.DataFrequency")
     return DataFrequency(frequency)
コード例 #3
0
def test_dataset_frequency_invalid():
    with pytest.raises(ValueError) as ex:
        DataFrequency("1y")

    assert (
        str(ex.value) ==
        "Invalid frequency. Frequency 1y does not match ^Y|M|W|D|H|30min|15min|10min|5min|1min$"
    )
コード例 #4
0
def test_dataset_create_noop_errors(configuration_data, forecast_stub):
    config = Config()
    config.config = configuration_data

    dataset_file = DatasetFile("RetailDemandTRM.csv", "some_bucket")
    dataset = config.dataset(dataset_file)
    configured_dataset = configuration_data.get("RetailDemandTRM").get(
        "Datasets")[2]

    params = {
        "DatasetType": configured_dataset.get("DatasetType"),
        "DatasetName": "RetailDemandTRM",
        "Domain": configured_dataset.get("Domain"),
        "Schema": configured_dataset.get("Schema"),
        "DataFrequency": configured_dataset.get("DataFrequency"),
    }
    create_params = deepcopy(params)
    create_params["Tags"] = [{"Key": "SolutionId", "Value": "SOL0123"}]

    forecast_stub.add_response(
        "describe_dataset",
        params,
    )

    forecast_stub.add_response("create_dataset", {"DatasetArn": dataset.arn},
                               create_params)

    forecast_stub.add_response(
        "describe_dataset",
        params,
    )

    dataset.cli = forecast_stub.client
    dataset.create()

    # clobber the values to trigger some exceptions
    # this is likey caused by a user changing configuration unexpectedly
    dataset._dataset_type = DatasetType.RELATED_TIME_SERIES
    dataset._dataset_domain = DatasetDomain.WORK_FORCE
    dataset._data_frequency = DataFrequency("1min")
    dataset._dataset_schema = {}
    with pytest.raises(ValueError) as excinfo:
        dataset.create()

    assert "dataset type" in str(excinfo.value)
    assert "dataset domain" in str(excinfo.value)
    assert "data frequency" in str(excinfo.value)
    assert "dataset schema" in str(excinfo.value)
def test_dataset_create_noop_errors(configuration_data, forecast_stub):
    config = Config()
    config.config = configuration_data

    dataset_file = DatasetFile("RetailDemandTRM.csv", "some_bucket")
    dataset = config.dataset(dataset_file)
    configured_dataset = configuration_data.get("RetailDemandTRM").get("Datasets")[2]

    for i in range(0, 2):
        forecast_stub.add_response(
            "describe_dataset",
            {
                "DatasetType": configured_dataset.get("DatasetType"),
                "DatasetName": "RetailDemandTRM",
                "Domain": configured_dataset.get("Domain"),
                "Schema": configured_dataset.get("Schema"),
                "DataFrequency": configured_dataset.get("DataFrequency"),
            },
        )

    # should not call anything
    dataset.cli = forecast_stub.client
    dataset.create()

    # clobber the values to trigger some exceptions
    # this is likey caused by a user changing configuration unexpectedly
    dataset._dataset_type = DatasetType.RELATED_TIME_SERIES
    dataset._dataset_domain = DatasetDomain.WORK_FORCE
    dataset._data_frequency = DataFrequency("1min")
    dataset._dataset_schema = {}
    with pytest.raises(ValueError) as excinfo:
        dataset.create()

    assert "dataset type" in str(excinfo.value)
    assert "dataset domain" in str(excinfo.value)
    assert "data frequency" in str(excinfo.value)
    assert "dataset schema" in str(excinfo.value)
コード例 #6
0
def test_dataset_frequency_str(valid_frequencies):
    for frequency in valid_frequencies:
        freq = DataFrequency(frequency=frequency)
        assert str(freq) == frequency
コード例 #7
0
def test_dataset_frequency_repr(valid_frequencies):
    for frequency in valid_frequencies:
        freq = DataFrequency(frequency=frequency)
        assert repr(freq) == f"DataFrequency(frequency='{frequency}')"
コード例 #8
0
def test_dataset_frequency_valid(valid_frequencies):
    for valid_frequency in valid_frequencies:
        frequency = DataFrequency(valid_frequency)
        assert frequency == valid_frequency
def test_invalid_data_frequency_comparison():
    frequency = DataFrequency("1min")
    invalid = "not_valid"

    with pytest.raises(ValueError):
        frequency > invalid