Skip to content

Commit 8a27188

Browse files
committed
Added test case for in-place operators
1 parent 100ee7b commit 8a27188

1 file changed

Lines changed: 60 additions & 1 deletion

File tree

test/core_wrapper_features_unittest.py

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from OCC.Core.BRepBuilderAPI import (BRepBuilderAPI_MakeVertex,
3030
BRepBuilderAPI_MakeEdge)
3131
from OCC.Core.gp import (gp_Pnt, gp_Vec, gp_Pnt2d, gp_Lin, gp_Dir,
32-
gp_Quaternion, gp_QuaternionSLerp)
32+
gp_Quaternion, gp_QuaternionSLerp, gp_XYZ, gp_Mat)
3333
from OCC.Core.GC import GC_MakeSegment
3434
from OCC.Core.STEPControl import STEPControl_Writer
3535
from OCC.Core.Interface import Interface_Static_SetCVal, Interface_Static_CVal
@@ -600,6 +600,65 @@ def test_repr_for_null_topods_shapes(self):
600600
self.assertTrue('Null' in v.__repr__())
601601
self.assertTrue('Null' in s.__repr__())
602602

603+
def test_in_place_operators(self):
604+
# operator +=
605+
a = gp_XYZ(1., 2., 3.)
606+
self.assertEqual(a.X(), 1.)
607+
self.assertEqual(a.Y(), 2.)
608+
self.assertEqual(a.Z(), 3.)
609+
a += gp_XYZ(4., 5., 6.)
610+
self.assertEqual(a.X(), 5.)
611+
self.assertEqual(a.Y(), 7.)
612+
self.assertEqual(a.Z(), 9.)
613+
# operator *= with a scalar
614+
b1 = gp_XYZ(2., 4., 5.)
615+
self.assertEqual(b1.X(), 2.)
616+
self.assertEqual(b1.Y(), 4.)
617+
self.assertEqual(b1.Z(), 5.)
618+
b1 *= 2
619+
self.assertEqual(b1.X(), 4.)
620+
self.assertEqual(b1.Y(), 8.)
621+
self.assertEqual(b1.Z(), 10.)
622+
# operator *= with a gp_XYZ
623+
b2 = gp_XYZ(4., 5., 6.)
624+
self.assertEqual(b2.X(), 4.)
625+
self.assertEqual(b2.Y(), 5.)
626+
self.assertEqual(b2.Z(), 6.)
627+
b2 *= gp_XYZ(3., 6., 7.)
628+
self.assertEqual(b2.X(), 12.)
629+
self.assertEqual(b2.Y(), 30.)
630+
self.assertEqual(b2.Z(), 42.)
631+
# operator *= with a gp_Mat
632+
b3 = gp_XYZ(1., 2., 3.)
633+
self.assertEqual(b3.X(), 1.)
634+
self.assertEqual(b3.Y(), 2.)
635+
self.assertEqual(b3.Z(), 3.)
636+
m_ident = gp_Mat()
637+
m_ident.SetIdentity()
638+
b3 *= m_ident
639+
self.assertEqual(b3.X(), 1.)
640+
self.assertEqual(b3.Y(), 2.)
641+
self.assertEqual(b3.Z(), 3.)
642+
# operator -=
643+
c = gp_XYZ(3., 2., 1.)
644+
self.assertEqual(c.X(), 3.)
645+
self.assertEqual(c.Y(), 2.)
646+
self.assertEqual(c.Z(), 1.)
647+
c -= gp_XYZ(1., 0.5, 1.5)
648+
self.assertEqual(c.X(), 2.)
649+
self.assertEqual(c.Y(), 1.5)
650+
self.assertEqual(c.Z(), -0.5)
651+
# operator /=
652+
d = gp_XYZ(12., 14., 18.)
653+
self.assertEqual(d.X(), 12.)
654+
self.assertEqual(d.Y(), 14.)
655+
self.assertEqual(d.Z(), 18.)
656+
d /= 2.
657+
self.assertEqual(d.X(), 6.)
658+
self.assertEqual(d.Y(), 7.)
659+
self.assertEqual(d.Z(), 9.)
660+
661+
603662
def suite():
604663
test_suite = unittest.TestSuite()
605664
test_suite.addTest(unittest.makeSuite(TestWrapperFeatures))

0 commit comments

Comments
 (0)