|
"""Cache test.""" |
|
import json |
|
|
|
import numpy as np |
|
|
|
from manifest.caches.serializers import ArraySerializer, NumpyByteSerializer |
|
|
|
|
|
def test_response_to_key_array() -> None: |
|
"""Test array serializer initialization.""" |
|
serializer = ArraySerializer() |
|
arr = np.random.rand(4, 4) |
|
res = {"response": {"choices": [{"array": arr}]}} |
|
key = serializer.response_to_key(res) |
|
key_dct = json.loads(key) |
|
assert isinstance(key_dct["response"]["choices"][0]["array"], str) |
|
|
|
res2 = serializer.key_to_response(key) |
|
assert np.allclose(arr, res2["response"]["choices"][0]["array"]) |
|
|
|
|
|
def test_response_to_key_numpybytes() -> None: |
|
"""Test array serializer initialization.""" |
|
serializer = NumpyByteSerializer() |
|
arr = np.random.rand(4, 4) |
|
res = {"response": {"choices": [{"array": arr}]}} |
|
key = serializer.response_to_key(res) |
|
key_dct = json.loads(key) |
|
assert isinstance(key_dct["response"]["choices"][0]["array"], str) |
|
|
|
res2 = serializer.key_to_response(key) |
|
assert np.allclose(arr, res2["response"]["choices"][0]["array"]) |
|
|