Esempio n. 1
0
def test_metadata_drop_dimension():
    metadata = CollectionMetadata({
        "cube:dimensions": {
            "t": {
                "type": "temporal"
            },
            "b": {
                "type": "bands",
                "values": ["red", "green"]
            },
        }
    })

    new = metadata.drop_dimension("t")
    assert metadata.dimension_names() == ["t", "b"]
    assert new.dimension_names() == ["b"]
    assert new.band_dimension.band_names == ["red", "green"]

    new = metadata.drop_dimension("b")
    assert metadata.dimension_names() == ["t", "b"]
    assert new.dimension_names() == ["t"]
    assert new.temporal_dimension.name == "t"

    with pytest.raises(ValueError):
        metadata.drop_dimension("x")
Esempio n. 2
0
def test_metadata_reduce_dimension():
    metadata = CollectionMetadata({
        "cube:dimensions": {
            "x": {"type": "spatial"},
            "b": {"type": "bands", "values": ["red", "green"]}
        }
    })
    reduced = metadata.reduce_dimension("b")
    assert set(metadata.dimension_names()) == {"x", "b"}
    assert set(reduced.dimension_names()) == {"x"}
Esempio n. 3
0
def test_metadata_add_temporal_dimension():
    metadata = CollectionMetadata({
        "cube:dimensions": {
            "x": {"type": "spatial"}
        }
    })
    new = metadata.add_dimension("date", "2020-05-15", "temporal")

    assert metadata.dimension_names() == ["x"]
    assert not metadata.has_temporal_dimension()

    assert new.has_temporal_dimension()
    assert new.dimension_names() == ["x", "date"]
    assert new.temporal_dimension.name == "date"
    assert new.temporal_dimension.extent == ["2020-05-15", "2020-05-15"]
Esempio n. 4
0
def test_metadata_add_band_dimension():
    metadata = CollectionMetadata({
        "cube:dimensions": {
            "t": {"type": "temporal"}
        }
    })
    new = metadata.add_dimension("layer", "red", "bands")

    assert metadata.dimension_names() == ["t"]
    assert not metadata.has_band_dimension()

    assert new.has_band_dimension()
    assert new.dimension_names() == ["t", "layer"]
    assert new.band_dimension.name == "layer"
    assert new.band_names == ["red"]