Skip to content

Commit 5d952d2

Browse files
committed
test/custom: extend testing
1 parent bb10939 commit 5d952d2

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

unittest/python/test_user_type.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,17 @@ def test_cast(from_dtype, to_dtype):
6868
test_cast(user_type.CustomDouble, np.int32)
6969
test_cast(np.int32, user_type.CustomDouble)
7070

71-
test(user_type.CustomFloat)
72-
7371
v = user_type.CustomDouble(1)
7472
a = np.array(v)
7573
assert type(v) is a.dtype.type
74+
75+
test(user_type.CustomFloat)
76+
77+
test_cast(user_type.CustomFloat, np.float32)
78+
test_cast(np.double, user_type.CustomFloat)
79+
80+
test_cast(user_type.CustomFloat, np.int64)
81+
test_cast(np.int64, user_type.CustomFloat)
82+
83+
test_cast(user_type.CustomFloat, np.int32)
84+
test_cast(np.int32, user_type.CustomFloat)

unittest/user_type.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,14 +201,19 @@ BOOST_PYTHON_MODULE(user_type) {
201201

202202
eigenpy::registerCast<DoubleType, double>(true);
203203
eigenpy::registerCast<double, DoubleType>(true);
204+
eigenpy::registerCast<DoubleType, float>(false);
205+
eigenpy::registerCast<float, DoubleType>(true);
204206
eigenpy::registerCast<DoubleType, int>(false);
205207
eigenpy::registerCast<int, DoubleType>(true);
206208
eigenpy::registerCast<DoubleType, long long>(false);
207209
eigenpy::registerCast<long long, DoubleType>(true);
208210
eigenpy::registerCast<DoubleType, long>(false);
209211
eigenpy::registerCast<long, DoubleType>(true);
212+
210213
eigenpy::registerCast<FloatType, double>(true);
211214
eigenpy::registerCast<double, FloatType>(false);
215+
eigenpy::registerCast<FloatType, float>(true);
216+
eigenpy::registerCast<float, FloatType>(true);
212217
eigenpy::registerCast<FloatType, long long>(false);
213218
eigenpy::registerCast<long long, FloatType>(true);
214219
eigenpy::registerCast<FloatType, int>(false);

0 commit comments

Comments
 (0)