def test_complement(self): c = Circle(UnitVector3d.X(), 2.0) d = c.complemented() c.complement() self.assertEqual(c, d) self.assertEqual(c.getCenter(), -UnitVector3d.X()) self.assertEqual(c.getSquaredChordLength(), 2.0)
def test_construction(self): self.assertTrue(Circle.empty().isEmpty()) self.assertTrue(Circle().isEmpty()) self.assertTrue(Circle.full().isFull()) c = Circle(UnitVector3d.X()) self.assertEqual(c.getOpeningAngle(), Angle(0)) self.assertEqual(c.getSquaredChordLength(), 0) c = Circle(UnitVector3d.Z(), 2.0) self.assertTrue(c.contains(UnitVector3d.Z())) c = Circle(UnitVector3d.Z(), Angle(math.pi)) self.assertTrue(c.isFull()) d = c.clone() self.assertEqual(c, d) self.assertNotEqual(id(c), id(d)) e = Circle(d) self.assertEqual(d, e)
def test_center_and_dimensions(self): c = Circle(UnitVector3d.X(), 1) self.assertEqual(c.getCenter(), UnitVector3d.X()) self.assertEqual(c.getSquaredChordLength(), 1) self.assertAlmostEqual(c.getOpeningAngle().asRadians(), math.pi / 3)