import pytest
import os

from turf.boolean_disjoint import boolean_disjoint
from turf.helpers import feature, feature_collection, point, line_string
from turf.helpers._features import all_geometry_types
from turf.utils.error_codes import error_code_messages
from turf.utils.exceptions import InvalidInput
from turf.utils.test_setup import get_fixtures

current_path = os.path.dirname(os.path.realpath(__file__))

fixtures = get_fixtures(
    current_path,
    keys=["true", "false"],
)


class TestBooleanPointOnLine:
    @pytest.mark.parametrize(
        "fixture",
        [
            pytest.param(fixture, id=fixture_name)
            for fixture_name, fixture in fixtures.items()
        ],
    )
    def test_boolean_point_on_line(self, fixture):

        if "true" in fixture:
            features = fixture.get("true")
            feature_1, feature_2 = features["features"]
Exemple #2
0
import pytest
import os

from turf.area import area

from turf.utils.error_codes import error_code_messages
from turf.utils.exceptions import InvalidInput
from turf.utils.test_setup import get_fixtures

current_path = os.path.dirname(os.path.realpath(__file__))

fixtures = get_fixtures(current_path)


class TestArea:

    allowed_types = ["Polygon", "MultiPolygon"]

    @pytest.mark.parametrize(
        "fixture",
        [
            pytest.param(fixture, id=fixture_name)
            for fixture_name, fixture in fixtures.items()
        ],
    )
    def test_area(self, fixture):

        assert round(area(fixture["in"])) == fixture["out"]

    @pytest.mark.parametrize(
        "input_value, exception_value",
Exemple #3
0
import pytest
import os

from turf.nearest_point import nearest_point

from turf.helpers import feature_collection, point
from turf.utils.test_setup import get_fixtures

current_path = os.path.dirname(os.path.realpath(__file__))

fixtures = get_fixtures(current_path, keys=["in", "out"])


class TestNearestPoint:
    @pytest.mark.parametrize(
        "fixture",
        [
            pytest.param(fixture, id=fixture_name)
            for fixture_name, fixture in fixtures.items()
        ],
    )
    def test_nearest_point(self, fixture):

        target_point = point(fixture["in"]["properties"]["targetPoint"])
        result = nearest_point(target_point, fixture["in"])

        result = prepare_response(result, target_point, fixture["in"])

        assert result == fixture["out"]

    def test_input_mutation(self):
Exemple #4
0
from turf.helpers import point
from turf.along import along

from turf.utils.error_codes import error_code_messages
from turf.utils.exceptions import InvalidInput
from turf.utils.test_setup import get_fixtures

current_path = os.path.dirname(os.path.realpath(__file__))

with open(os.path.join(os.path.join(current_path, "in"), "dc-line.geojson"), "r") as f:
    line_string_fixture = json.load(f)

fixtures = defaultdict(lambda: {"in": line_string_fixture, "out": None})

fixtures = get_fixtures(current_path, fixtures, ["out"])


class TestAlong:

    allowed_types = ["LineString"]

    @pytest.mark.parametrize(
        "fixture,fixture_name",
        [
            pytest.param(fixture, fixture_name, id=fixture_name)
            for fixture_name, fixture in fixtures.items()
        ],
    )
    def test_along(self, fixture, fixture_name):