From 0a49d3938443b8dc8bb519340e76173f17f7df04 Mon Sep 17 00:00:00 2001 From: agaraman0 Date: Sun, 26 Mar 2023 13:23:27 +0530 Subject: [PATCH 1/3] feat: isort format fix Signed-off-by: agaraman0 --- tests/units/array/test_array.py | 50 ++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/tests/units/array/test_array.py b/tests/units/array/test_array.py index 8a5557e4858..8b92c73eb11 100644 --- a/tests/units/array/test_array.py +++ b/tests/units/array/test_array.py @@ -5,7 +5,7 @@ import torch from docarray import BaseDocument, DocumentArray -from docarray.typing import NdArray, TorchTensor +from docarray.typing import ImageUrl, NdArray, TorchTensor from docarray.utils.misc import is_tf_available tf_available = is_tf_available() @@ -319,3 +319,51 @@ class Text(BaseDocument): da = DocumentArray[Text].construct(docs) assert da._data is docs + + +def test_reverse(): + class Text(BaseDocument): + text: str + + docs = [Text(text=f'hello {i}') for i in range(10)] + + da = DocumentArray[Text].construct(docs) + da.reverse() + assert da[-1].text == 'hello 0' + assert da[0].text == 'hello 9' + + +class Image(BaseDocument): + tensor: Optional[NdArray] + url: ImageUrl + + +def test_remove(): + images = [Image(url=f'http://url.com/foo_{i}.png') for i in range(3)] + da = DocumentArray[Image](images) + da.remove(images[1]) + assert len(da) == 2 + assert da[0] == images[0] + assert da[1] == images[2] + + +def test_pop(): + images = [Image(url=f'http://url.com/foo_{i}.png') for i in range(3)] + da = DocumentArray[Image](images) + popped = da.pop(1) + assert len(da) == 2 + assert popped == images[1] + assert da[0] == images[0] + assert da[1] == images[2] + + +def test_sort(): + images = [ + Image(url=f'http://url.com/foo_{i}.png', tensor=NdArray(i)) for i in [2, 0, 1] + ] + da = DocumentArray[Image](images) + da.sort(key=lambda img: len(img.tensor)) + assert len(da) == 3 + assert da[0].url == 'http://url.com/foo_0.png' + assert da[1].url == 'http://url.com/foo_1.png' + assert da From 6399dadc6ca28e9d8ece9f93d6c9879b512951c8 Mon Sep 17 00:00:00 2001 From: agaraman0 Date: Mon, 27 Mar 2023 13:21:31 +0530 Subject: [PATCH 2/3] refactor: comment fixes Signed-off-by: agaraman0 --- tests/units/array/test_array.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/units/array/test_array.py b/tests/units/array/test_array.py index 8b92c73eb11..2daf6c38776 100644 --- a/tests/units/array/test_array.py +++ b/tests/units/array/test_array.py @@ -327,7 +327,7 @@ class Text(BaseDocument): docs = [Text(text=f'hello {i}') for i in range(10)] - da = DocumentArray[Text].construct(docs) + da = DocumentArray[Text](docs) da.reverse() assert da[-1].text == 'hello 0' assert da[0].text == 'hello 9' From e054173a1a5f3755ef4df41adccf07cd7da8d970 Mon Sep 17 00:00:00 2001 From: agaraman0 Date: Mon, 27 Mar 2023 13:23:14 +0530 Subject: [PATCH 3/3] refactor: comment fixes Signed-off-by: agaraman0 --- tests/units/array/test_array.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/units/array/test_array.py b/tests/units/array/test_array.py index 2daf6c38776..af95e05bfb1 100644 --- a/tests/units/array/test_array.py +++ b/tests/units/array/test_array.py @@ -366,4 +366,3 @@ def test_sort(): assert len(da) == 3 assert da[0].url == 'http://url.com/foo_0.png' assert da[1].url == 'http://url.com/foo_1.png' - assert da