def test_intersect_intRays(self): p1 = (0,0) dir1 = (1,0) p2 = (0,0) dir2 = (0,1) line = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 )) self.assertEqual( line , [] ) # Opposite direction p3 = (-1,0) dir3 = (-1,0) with self.assertRaises(ValueError): Fault.intersectFaultRays(( p1,dir1),(p3,dir3)) with self.assertRaises(ValueError): Fault.intersectFaultRays(( p3,dir3),(p1,dir1)) # Parallell with offset p4 = (0,1) dir4 = (1,0) with self.assertRaises(ValueError): Fault.intersectFaultRays(( p1,dir1),(p4,dir4)) p5 = (0,1) dir5 = (-1,0) with self.assertRaises(ValueError): Fault.intersectFaultRays(( p1,dir1),(p5,dir5)) p6 = (1,1) dir6 = (1,0) with self.assertRaises(ValueError): Fault.intersectFaultRays(( p1,dir1),(p6,dir6)) p2 = (-1,0) dir2 = (-1,0) join = Fault.intersectFaultRays(( p2,dir1),(p1,dir2)) self.assertEqual( join , [p2 , p1]) join = Fault.intersectFaultRays(( p1,dir3),(p3,dir1)) self.assertEqual( join , [p1 , p3]) p2 = (1,0) dir2 = (1,0) join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2)) self.assertEqual( join , [p1 , p2]) # Orthogonal p2 = (1,1) dir2 = (0,1) with self.assertRaises(ValueError): Fault.intersectFaultRays(( p1,dir1),(p2,dir2 )) p2 = (0,1) dir2 = (0,1) with self.assertRaises(ValueError): Fault.intersectFaultRays(( p1,dir1),(p2,dir2 )) p2 = (-1,0) dir2 = (0,1) with self.assertRaises(ValueError): Fault.intersectFaultRays(( p1,dir1),(p2,dir2 )) p2 = (-1,1) dir2 = (0,1) with self.assertRaises(ValueError): Fault.intersectFaultRays(( p1,dir1),(p2,dir2 )) p2 = (-1,1) dir2 = (0,-1) with self.assertRaises(ValueError): Fault.intersectFaultRays(( p1,dir1),(p2,dir2 )) p2 = (3,-1) dir2 = (0,-1) with self.assertRaises(ValueError): Fault.intersectFaultRays(( p1,dir1),(p2,dir2 )) p2 = (1,-1) dir2 = (0,1) join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 )) self.assertEqual(join , [p1 , (1,0) , p2]) p2 = (1,1) dir2 = (0,-1) join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 )) self.assertEqual(join , [p1 , (1,0) , p2]) p2 = (0,3) dir2 = (0,-1) join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 )) self.assertEqual(join , [p1 , p2]) p2 = (3,0) dir2 = (0,-1) join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 )) self.assertEqual(join , [p1 , p2])