Ejemplo n.º 1
0
def test_round_trip(skm):
    s, k, m = skm
    values = np.arange(256)
    decompressed = decompress(values, s=s, k=k, m=m)
    output = compress(decompressed, s=s, k=k, m=m)
    # account for two values of 0 which are possible but as input to decompress is a int only get
    # one
    if s == 1:
        values[values == 128] = 0
    assert np.array_equiv(values, output)
Ejemplo n.º 2
0
def test_compress_053(values):
    compressed, start, end = values
    res = compress(np.linspace(start, end, 10, dtype=np.uint64), s=0, k=5, m=3)
    assert np.all(compressed == res)
Ejemplo n.º 3
0
def test_compression_maxvalue_error():
    with pytest.raises(CompressionRangeError) as e:
        _ = compress(256, s=0, k=1, m=7)
    assert str(e.value).startswith('Valid input range exceeded')
Ejemplo n.º 4
0
def test_compression_skm_error():
    with pytest.raises(CompressionSchemeParameterError):
        _ = compress(1, s=1, k=5, m=4)
Ejemplo n.º 5
0
def test_compression_nonint_error():
    with pytest.raises(NonIntegerCompressionError):
        _ = compress(np.float64(10.0), s=0, k=5, m=3)
Ejemplo n.º 6
0
def test_compression():
    comp1 = compress(1, s=0, k=5, m=3)
    comp2 = compress(16106127360, s=0, k=5, m=3)
    assert comp1 == 1
    assert comp2 == 255