Base: raise TypeError if Vector is multiplied with unsupported type
This commit is contained in:
@@ -32,8 +32,6 @@
|
||||
// inclusion of the generated files (generated out of VectorPy.xml)
|
||||
#include "GeometryPyCXX.h"
|
||||
#include "VectorPy.h"
|
||||
#include "MatrixPy.h"
|
||||
#include "RotationPy.h"
|
||||
#include "VectorPy.cpp"
|
||||
|
||||
using namespace Base;
|
||||
@@ -156,7 +154,7 @@ PyObject* VectorPy::number_multiply_handler(PyObject *self, PyObject *other)
|
||||
return new VectorPy(a * b);
|
||||
}
|
||||
else {
|
||||
PyErr_SetString(PyExc_NotImplementedError, "Not implemented");
|
||||
PyErr_SetString(PyExc_TypeError, "A Vector can only be multiplied by Vector or number");
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -399,6 +399,11 @@ class MatrixTestCase(unittest.TestCase):
|
||||
self.assertEqual(vec.y, 1.0)
|
||||
self.assertEqual(vec.z, 1.0)
|
||||
|
||||
def testVectorMult(self):
|
||||
vec = FreeCAD.Vector(1, 1, 1)
|
||||
with self.assertRaises(TypeError):
|
||||
vec * "string"
|
||||
|
||||
def testRotation(self):
|
||||
rot = FreeCAD.Rotation()
|
||||
res = self.mat * rot
|
||||
|
||||
Reference in New Issue
Block a user