def test_reint():
    from datacube_ows.band_mapper import RGBAMappedStyleDef

    band = np.array([0., 0., 1., 1., 2., 2.])
    da = DataArray(band, name='foo')

    assert (band.dtype.kind == "f")
    data = RGBAMappedStyleDef.reint(band)
    assert (data.dtype.kind == "i")

    assert (da.dtype.kind == "f")
    data = RGBAMappedStyleDef.reint(da)
    assert (data.dtype.kind == "i")

    data = RGBAMappedStyleDef.reint(data)
    assert (data.dtype.kind == "i")
def test_createcolordata_alpha():
    from datacube_ows.band_mapper import RGBAMappedStyleDef
    from colour import Color

    band = np.array([0, 0, 1, 1, 2, 2])
    da = DataArray(band, name='foo')
    rgb = Color("#FFFFFF")

    data = RGBAMappedStyleDef.create_colordata(da, rgb, 0.0, (band >= 0))
    assert (data["alpha"] == 0).all()
def test_createcolordata_mask():
    from datacube_ows.band_mapper import RGBAMappedStyleDef
    from colour import Color

    band = np.array([0, 0, 1, 1, 2, 2])
    da = DataArray(band, name='foo')
    rgb = Color("#FFFFFF")

    data = RGBAMappedStyleDef.create_colordata(da, rgb, 0.0, (band > 0))
    assert (np.isnan(data["red"][0:1:1])).all()
    assert (np.isfinite(data["red"][2:5:1])).all()