Ejemplo n.º 1
0
def test_properties(polygon_with_segment: PolygonWithSegment) -> None:
    polygon, segment = polygon_with_segment

    result = symmetric_subtract_polygon_from_segment(segment, polygon)

    relation = segment_in_polygon(segment, polygon)
    assert (not is_mix(result)
            or (relation in (Relation.DISJOINT, Relation.TOUCH, Relation.CROSS)
                and (is_empty(result.discrete) and not is_empty(result.linear)
                     and are_compounds_similar(result.shaped, polygon))))
    assert (not is_polygon(result) or relation
            in (Relation.COMPONENT, Relation.ENCLOSED, Relation.WITHIN))
def test_properties(
        polygon_with_multisegment: PolygonWithMultisegment) -> None:
    polygon, multisegment = polygon_with_multisegment

    result = unite_multisegment_with_polygon(multisegment, polygon)

    relation = multisegment_in_polygon(multisegment, polygon)
    assert (not is_mix(result)
            or (relation in (Relation.DISJOINT, Relation.TOUCH, Relation.CROSS)
                and (is_empty(result.discrete) and not is_empty(result.linear)
                     and are_compounds_similar(result.shaped, polygon))))
    assert (not is_polygon(result) or relation
            in (Relation.COMPONENT, Relation.ENCLOSED, Relation.WITHIN))
def test_properties(
        multisegment_with_segment: MultisegmentWithSegment) -> None:
    multisegment, segment = multisegment_with_segment

    result = symmetric_subtract_multisegment_from_segment(
        segment, multisegment)

    assert equivalence(
        is_empty(result),
        segment_in_multisegment(segment, multisegment) is Relation.EQUAL)
def test_properties(multisegment_with_segment: MultisegmentWithSegment
                    ) -> None:
    multisegment, segment = multisegment_with_segment

    result = subtract_multisegment_from_segment(segment, multisegment)

    relation = segment_in_multisegment(segment, multisegment)
    assert equivalence(is_empty(result),
                       relation is Relation.EQUAL
                       or relation is Relation.COMPONENT)
    assert implication(is_multisegment(result),
                       relation in (Relation.TOUCH, Relation.CROSS,
                                    Relation.COMPOSITE, Relation.OVERLAP))
    assert implication(is_segment(result),
                       relation in (Relation.DISJOINT, Relation.TOUCH,
                                    Relation.CROSS, Relation.COMPOSITE,
                                    Relation.OVERLAP))
Ejemplo n.º 5
0
def test_self_inverse(segment: Segment) -> None:
    result = symmetric_subtract_segments(segment, segment)

    assert is_empty(result)
def test_self_inverse(multisegment: Multisegment) -> None:
    result = symmetric_subtract_multisegments(multisegment, multisegment)

    assert is_empty(result)
def test_properties(data: DataObject) -> None:
    strategy = empty_geometries()

    result = data.draw(strategy)

    assert is_empty(result)
Ejemplo n.º 8
0
def test_self_inverse(polygon: Polygon) -> None:
    result = symmetric_subtract_polygons(polygon, polygon)

    assert is_empty(result)