88import pandas as pd
99import pydantic
1010import pins
11+ import numpy as np
12+
13+ np .random .seed (50 )
1114
1215# Load data, model
1316X_df , y = get_mock_data ()
@@ -33,8 +36,9 @@ def test_vetiver_model_array_prototype():
3336
3437 assert vt1 .model == model
3538 assert issubclass (vt1 .prototype , vt .Prototype )
39+ # change to model_construct for pydantic v3
3640 assert isinstance (vt1 .prototype .construct (), pydantic .BaseModel )
37- assert list ( vt1 .prototype .__fields__ . values ())[ 0 ]. type_ == int
41+ assert vt1 .prototype .construct (). __dict__ == { "0" : 96 , "1" : 11 , "2" : 33 }
3842
3943
4044def test_vetiver_model_df_prototype ():
@@ -48,8 +52,9 @@ def test_vetiver_model_df_prototype():
4852 )
4953
5054 assert vt2 .model == model
55+ # change to model_construct for pydantic v3
5156 assert isinstance (vt2 .prototype .construct (), pydantic .BaseModel )
52- assert list ( vt2 .prototype .__fields__ . values ())[ 0 ]. type_ == int
57+ assert vt2 .prototype .construct (). B == 96
5358
5459
5560def test_vetiver_model_dict_prototype ():
@@ -64,8 +69,9 @@ def test_vetiver_model_dict_prototype():
6469 )
6570
6671 assert vt3 .model == model
72+ # change to model_construct for pydantic v3
6773 assert isinstance (vt3 .prototype .construct (), pydantic .BaseModel )
68- assert list ( vt3 .prototype .__fields__ . values ())[ 0 ]. type_ == int
74+ assert vt3 .prototype .construct (). B == 0
6975
7076
7177def test_vetiver_model_basemodel_prototype ():
@@ -135,6 +141,7 @@ def test_vetiver_model_from_pin():
135141
136142 assert isinstance (v2 , vt .VetiverModel )
137143 assert isinstance (v2 .model , sklearn .base .BaseEstimator )
144+ # change to model_construct for pydantic v3
138145 assert isinstance (v2 .prototype .construct (), pydantic .BaseModel )
139146 assert v2 .metadata .user == {"test" : 123 }
140147 assert v2 .metadata .version is not None
@@ -170,6 +177,7 @@ def test_vetiver_model_from_pin_user_metadata():
170177
171178 assert isinstance (v2 , vt .VetiverModel )
172179 assert isinstance (v2 .model , sklearn .base .BaseEstimator )
180+ # change to model_construct for pydantic v3
173181 assert isinstance (v2 .prototype .construct (), pydantic .BaseModel )
174182 assert v2 .metadata .user == custom_meta
175183 assert v2 .metadata .version is not None
0 commit comments