コード例 #1
0
 def transpose(obj, *order):
     if isinstance(order[0], tuple):
         order = order[0]
     if isinstance(obj, np.ndarray):
         newobj = transposeND(obj, order)
     elif isinstance(obj, xr.DataArray):
         newobj = transposeDA(obj, order)
     elif isinstance(obj, FloatArray):
         tmp = transposeND(obj.array, order)
         newobj = FloatArray(tmp)
     else:
         raise TypeError("Can't understand datatype of obj.")
     return newobj
コード例 #2
0
 def subset(obj, size, error=.005):
     if isinstance(obj, np.ndarray):
         subs = SubsetSlices(obj.shape, size, error)
         result = obj[subs]
     elif isinstance(obj, xr.DataArray):
         subs = SubsetSlices(obj.values.shape, size, error)
         slices = {x: y for x, y in zip(obj.dims, subs)}
         result = obj.isel(**slices)
     elif isinstance(obj, FloatArray):
         subs = SubsetSlices(obj.array.shape, size, error)
         result = FloatArray(obj.array[subs])
     else:
         raise TypeError("Can't understand type.")
     return result
コード例 #3
0
def test_floatarray_with_other_object(value):
    """Comparison with arbitary types."""
    with pytest.raises(TypeError) as err:
        _ = FloatArray(ARR) == value
    assert "Comparison failed" in str(err)
コード例 #4
0
def test_floatarray_with_npndarray():
    """Comparison with related values."""
    assert FloatArray(ARR) == ARR
コード例 #5
0
def test_equal_floatarray():
    """Comparison with itself."""
    assert FloatArray(ARR) == FloatArray(ARR)
コード例 #6
0
def test_value_error(value):
    """Wrong input types."""
    with pytest.raises(TypeError) as err:
        FloatArray(value)
    assert "Expected np.nd" in str(err)
コード例 #7
0
def test_raise_error(form):
    """Wrong np.dtypes of array."""
    with pytest.raises(TypeError) as err:
        FloatArray(ARR.astype(form))
    assert "Expected np.nd" in str(err)
コード例 #8
0
def test_importtype():
    """"Correct initialisation."""
    assert isinstance(FloatArray(ARR), FloatArray)
コード例 #9
0
# coding: utf-8
"""Testing mapper functions."""

from pasc.modifier import mapper
from pasc.objects.floatarray import FloatArray
from pasc.objects.integerarray import IntegerArray
import numpy as np
import pytest

MAPPER = [
    mapper.Lindstrom,
    mapper.RawBinary,
]

INPUTGROUP_VALID = [
    FloatArray(np.arange(24, dtype=np.float32)),
]

INPUTGROUP_INVALID = [
    IntegerArray(np.arange(24, dtype=np.int32)),
]


@pytest.mark.parametrize('mapmod', MAPPER)
@pytest.mark.parametrize('inputgroup', INPUTGROUP_VALID)
def test_map_function_output(inputgroup, mapmod):
    """Result of Mapper is an IntegerArray using map method."""
    mapfunc = mapmod.map(inputgroup)
    assert isinstance(mapfunc, IntegerArray)

コード例 #10
0
 def to_floatarray(self, var):
     dataarray = getattr(self.data, var)
     return FloatArray(dataarray.values)