1
1
#![ cfg( not( Py_LIMITED_API ) ) ]
2
2
3
3
use pyo3:: prelude:: * ;
4
- use pyo3:: types:: { timezone_utc, IntoPyDict } ;
4
+ use pyo3:: types:: { timezone_utc, IntoPyDict , PyDate , PyDateTime , PyTime } ;
5
5
use pyo3_ffi:: PyDateTime_IMPORT ;
6
6
7
7
fn _get_subclasses < ' p > (
@@ -61,6 +61,9 @@ fn test_date_check() {
61
61
assert_check_exact ! ( PyDate_Check , PyDate_CheckExact , obj) ;
62
62
assert_check_only ! ( PyDate_Check , PyDate_CheckExact , sub_obj) ;
63
63
assert_check_only ! ( PyDate_Check , PyDate_CheckExact , sub_sub_obj) ;
64
+ assert ! ( obj. is_instance_of:: <PyDate >( ) . unwrap( ) ) ;
65
+ assert ! ( !obj. is_instance_of:: <PyTime >( ) . unwrap( ) ) ;
66
+ assert ! ( !obj. is_instance_of:: <PyDateTime >( ) . unwrap( ) ) ;
64
67
} ) ;
65
68
}
66
69
@@ -73,6 +76,9 @@ fn test_time_check() {
73
76
assert_check_exact ! ( PyTime_Check , PyTime_CheckExact , obj) ;
74
77
assert_check_only ! ( PyTime_Check , PyTime_CheckExact , sub_obj) ;
75
78
assert_check_only ! ( PyTime_Check , PyTime_CheckExact , sub_sub_obj) ;
79
+ assert ! ( !obj. is_instance_of:: <PyDate >( ) . unwrap( ) ) ;
80
+ assert ! ( obj. is_instance_of:: <PyTime >( ) . unwrap( ) ) ;
81
+ assert ! ( !obj. is_instance_of:: <PyDateTime >( ) . unwrap( ) ) ;
76
82
} ) ;
77
83
}
78
84
@@ -88,6 +94,9 @@ fn test_datetime_check() {
88
94
assert_check_exact ! ( PyDateTime_Check , PyDateTime_CheckExact , obj) ;
89
95
assert_check_only ! ( PyDateTime_Check , PyDateTime_CheckExact , sub_obj) ;
90
96
assert_check_only ! ( PyDateTime_Check , PyDateTime_CheckExact , sub_sub_obj) ;
97
+ assert ! ( obj. is_instance_of:: <PyDate >( ) . unwrap( ) ) ;
98
+ assert ! ( !obj. is_instance_of:: <PyTime >( ) . unwrap( ) ) ;
99
+ assert ! ( obj. is_instance_of:: <PyDateTime >( ) . unwrap( ) ) ;
91
100
} ) ;
92
101
}
93
102
0 commit comments