Пример #1
0
def test_serialize_deserialize_record_pack(ident_testcase, nrecords):
    from hangar.remote.chunks import serialize_record
    from hangar.remote.chunks import serialize_record_pack
    from hangar.remote.chunks import deserialize_record
    from hangar.remote.chunks import deserialize_record_pack
    from hangar.remote.chunks import ArrayRecord

    idx = 0
    ArrList, RecList = [], []
    digest, schema = ident_testcase
    for shape in param_shapes:
        for dtype in param_dtypes:
            arr = 200 * np.random.random_sample(shape) + 100
            arr = arr.astype(dtype)
            digest = f'digest{str(idx)*len(digest)}'
            schema = f'schema{str(idx)*len(schema)}'
            idx += 1

            ArrList.append((arr, digest, schema))
            RecList.append(serialize_record(arr, digest, schema))

    rawpack = serialize_record_pack(RecList)
    reslist = deserialize_record_pack(rawpack)

    assert reslist == RecList

    for rawres, origRec in zip(reslist, ArrList):
        resRec = deserialize_record(rawres)
        assert isinstance(resRec, ArrayRecord)
        assert_equal(resRec.array, origRec[0])
        assert resRec.digest == origRec[1]
        assert resRec.schema == origRec[2]
Пример #2
0
def test_serialize_deserialize_record(array_testcase, ident_testcase):
    from hangar.remote.chunks import serialize_record
    from hangar.remote.chunks import deserialize_record
    from hangar.remote.chunks import ArrayRecord

    digest, schema = ident_testcase
    raw = serialize_record(array_testcase, digest, schema)
    res = deserialize_record(raw)
    assert isinstance(res, ArrayRecord)
    assert_equal(res.array, array_testcase)
    assert res.digest == digest
    assert res.schema == schema