1- from typing import Any , Dict , List , Optional , Union
1+ from typing import Any , Dict , List , Optional , Union , ClassVar
22
33import numpy as np
44import pytest
1717def test_create_pydantic_model_from_schema (transformation ):
1818 class Nested2Doc (BaseDoc ):
1919 value : str
20+ classvar : ClassVar [str ] = 'classvar2'
2021
2122 class Nested1Doc (BaseDoc ):
2223 nested : Nested2Doc
24+ classvar : ClassVar [str ] = 'classvar1'
2325
2426 class CustomDoc (BaseDoc ):
2527 tensor : Optional [AnyTensor ]
@@ -34,6 +36,7 @@ class CustomDoc(BaseDoc):
3436 lu : List [Union [str , int ]] = [0 , 1 , 2 ]
3537 tags : Optional [Dict [str , Any ]] = None
3638 nested : Nested1Doc
39+ classvar : ClassVar [str ] = 'classvar'
3740
3841 CustomDocCopy = create_pure_python_type_model (CustomDoc )
3942 new_custom_doc_model = create_base_doc_from_schema (
@@ -87,6 +90,9 @@ class CustomDoc(BaseDoc):
8790 assert custom_partial_da [0 ].single_text .text == 'single hey ha'
8891 assert custom_partial_da [0 ].single_text .embedding .shape == (2 ,)
8992 assert original_back [0 ].nested .nested .value == 'hello world'
93+ assert original_back [0 ].classvar == 'classvar'
94+ assert original_back [0 ].nested .classvar == 'classvar1'
95+ assert original_back [0 ].nested .nested .classvar == 'classvar2'
9096
9197 assert len (original_back ) == 1
9298 assert original_back [0 ].url == 'photo.jpg'
0 commit comments