diff --git a/exp/tests/test_geometry.py b/exp/tests/test_geometry.py --- a/exp/tests/test_geometry.py +++ b/exp/tests/test_geometry.py @@ -65,3 +65,27 @@ class TestLine(TestCase): self.assertAlmostEqual(r.distanceTo(a),1) self.assertAlmostEqual(r.distanceTo(b),1) self.assertAlmostEqual(r.distanceTo(c),0) + + def testShiftBasis(self): + newBasis=EPoint(-200,150) + r=Line(0,-100) + r_=r.shiftBasis(newBasis) + self.assertAlmostEqual(r_._alpha,0) + self.assertAlmostEqual(r_._d,100) + + s=Line(0,100) + s_=s.shiftBasis(newBasis) + self.assertAlmostEqual(s_._alpha,0) + self.assertAlmostEqual(s_._d,300) + + newBasis=EPoint(-100,100) + diag=100*math.sqrt(2) + p=Line(math.pi*3/4,diag/2) + p_=p.shiftBasis(newBasis) + self.assertAlmostEqual(p_._alpha,math.pi*7/4) + self.assertAlmostEqual(p_._d,diag/2) + + q=Line(math.pi*3/4,-diag/2) + q_=q.shiftBasis(newBasis) + self.assertAlmostEqual(q_._alpha,math.pi*7/4) + self.assertAlmostEqual(q_._d,3/2*diag)