def test_has_crossing(self):
        line = HighDimLine(np.array([(3., 2), (5., 0)]))  # y = -x + 5
        line_segment = HighDimLineSegment(
                np.array([(3, 0.5), (5, 1.5)]))  # y = 0.5 x - 1
        # line_points[0] = segpoints[0] = intersection point
        line_points = np.array([(4., 1.), (5., 0.)])
        self.assertTrue(line.is_on(line_points[0]))
        self.assertTrue(line.is_on(line_points[1]))

        seg_points = np.copy(line_points)
        seg_points[1, 1] = 1.5
        self.assertTrue(line_segment.is_on(seg_points[0]))
        self.assertTrue(line_segment.is_on(seg_points[1]))

        line_val = line.call(np.array([5.]))
        np_assert_allclose(0.0, line_val)
        np_assert_allclose(line_points[..., -1], line(line_points[..., :-1]))
        self.assertTrue(has_crossing(line, line_segment))