Example #1
0
def test_concatenate():
    cg = Test_Chunk_Generator()

    test_chunk = \
        { 7: {'source': 'foo', 'data': numpy.array([2,4,8,9])},
          8: {'source': 'foo', 'data': numpy.array([1,2,3,4])},
          9: {'source': 'foo', 'data': numpy.array([[1,2],[1,2],[1,2],[1,2]])},
         10: {'source': 'foo', 'data': numpy.array(['str1','str2','str3','str1'])}}

    chunk = chunks.concatenate(cg.chunks_list[0], cg.chunks_list[1])
    assert chunk == test_chunk
    assert chunk == chunks.concatenate(cg.empty_chunk, chunk)
    assert chunk == chunks.concatenate(chunk, cg.empty_chunk)
Example #2
0
def test_slice():
    cg = Test_Chunk_Generator()

    chunk = chunks.concatenate(cg.chunks_list[0], cg.chunks_list[1])
    chunk0_length = len(Chunk(cg.chunks_list[0]))
    concatenated_length = len(chunk)

    slice1 = chunk[:chunk0_length]
    slice2 = chunk[chunk0_length:]
    assert cg.chunks_list[0] == slice1
    assert cg.chunks_list[1] == slice2

    slice1 = chunk[:0]
    slice2 = chunk[0:]
    assert cg.empty_chunk == slice1
    assert chunk == slice2

    slice1 = chunk[:concatenated_length]
    slice2 = chunk[concatenated_length:]
    assert chunk == slice1
    assert cg.empty_chunk == slice2

    slice_end = chunk[-1]
    assert slice_end == \
           { 7: {'source': 'foo', 'data': numpy.array([9])},
             8: {'source': 'foo', 'data': numpy.array([4])},
             9: {'source': 'foo', 'data': numpy.array([[1,2]])},
            10: {'source': 'foo', 'data': numpy.array(['str1'])}}
Example #3
0
def test_with_times():
    cg = Test_Chunk_Generator()

    avg_chunk = \
        { 7: {'source': 'foo', 'data': numpy.array([9,14,15])},
          8: {'source': 'foo', 'data': numpy.array([5.5, numpy.NAN, 8])},
          9: {'source': 'foo', 'data': numpy.array([[1,2],[-9223372036854775808,-9223372036854775808],[1,2]])},
         10: {'source': 'foo', 'data': numpy.array(['str1','nan','str2'])}}

    nan_chunk = \
        { 7: {'source': 'foo', 'data': numpy.array([1,2,3,4])},
          8: {'source': 'foo', 'data': numpy.array([-9223372036854775808,-9223372036854775808,-9223372036854775808,-9223372036854775808])},
          9: {'source': 'foo', 'data': numpy.array([[-9223372036854775808,-9223372036854775808],[-9223372036854775808,-9223372036854775808],[-9223372036854775808,-9223372036854775808],[-9223372036854775808,-9223372036854775808]])},
          10: {'source': 'foo', 'data': numpy.array(['nan','nan','nan','nan'])}}

    concat_chunk = \
        {7: {'source': 'foo', 'data': numpy.array([ 2,  4,  8,  9, 13, 19])},
         8: {'source': 'foo', 'data': numpy.array([1, 2, 3, 4, 7, 8])},
         9: {'source': 'foo', 'data': numpy.array([[1, 2], [1, 2], [1, 2], [1, 2], [1, 2], [1, 2]])},
         10: {'source': 'foo', 'data': numpy.array(['str1', 'str2', 'str3', 'str1', 'str1', 'str2'])}}

    chunk = chunks.concatenate(*cg.chunks_list)
    assert concat_chunk == chunk

    chunk_result = chunk.with_times([9,14,15], strategy='Average')
    assert avg_chunk == chunk_result

    chunk_result =  chunk.with_times([])
    assert cg.empty_chunk == chunk_result

    chunk_result = Chunk(cg.empty_chunk).with_times([1,2,3,4])
    assert nan_chunk == chunk_result

    int_chunk = \
        { 7: {'source': 'foo', 'data': numpy.array([1,3,20])},
          8: {'source': 'foo', 'data': numpy.array([1,1.5,8])},
          9: {'source': 'foo', 'data': numpy.array([[1,2],[1,2],[1,2]])},
         10: {'source': 'foo', 'data': numpy.array(['str1','str1','str2'])}}

    chunk_result = chunk.with_times([1,3,20])
    assert int_chunk == chunk_result