def test_rectangle(): p = make_decart_point(-4, 3) rectangle1 = make_rectangle(p, 5, 4) assert contains_origin(rectangle1) rectangle2 = make_rectangle(p, 5, 2) assert not contains_origin(rectangle2) rectangle3 = make_rectangle(p, 2, 2) assert not contains_origin(rectangle3) rectangle4 = make_rectangle(p, 4, 3) assert not contains_origin(rectangle4)
def get_left_down_point(rectangle): x = get_x(get_start_point(rectangle)) y = get_y(get_start_point(rectangle)) - get_heigth(rectangle) return make_decart_point(x, y)
def get_right_down_point(rectangle): x = get_x(get_start_point(rectangle)) + get_width(rectangle) y = get_y(get_start_point(rectangle)) - get_heigth(rectangle) return make_decart_point(x, y)
def get_right_up_point(rectangle): x = get_x(get_start_point(rectangle)) + get_width(rectangle) y = get_y(get_start_point(rectangle)) return make_decart_point(x, y)
def get_mid_point_of_segment(segment): x1 = get_x(segment['begin_segment']) x2 = get_x(segment['end_segment']) y1 = get_y(segment['begin_segment']) y2 = get_y(segment['end_segment']) return make_decart_point((x1 + x2) / 2, (y1 + y2) / 2)
def test_segments(): segment1 = make_segment(make_decart_point(3, 2), make_decart_point(0, 0)) assert make_decart_point(1.5, 1) == get_mid_point_of_segment(segment1) segment2 = make_segment(make_decart_point(3, 2), make_decart_point(2, 3)) assert make_decart_point(2.5, 2.5) == get_mid_point_of_segment(segment2)
def test_cross_zero(): point = make_decart_point(0, 1) rectangle = make_rectangle(point, 4, 5) assert not contains_origin(rectangle)