<commit_before># -*- coding: utf-8 -*-

from __future__ import unicode_literals
import six

import pytest

from crabpy.client import (
    crab_factory
)

from crabpy.gateway.exception import (
    GatewayRuntimeException
)

from crabpy.gateway.crab import (
    CrabGateway, Gewest,
    Gemeente, Taal,
    Bewerking, Organisatie,
    Aardsubadres, Aardadres,
    Aardgebouw, Aardwegobject,
    Aardterreinobject, Statushuisnummer,
    Statussubadres, Statusstraatnaam,
    Statuswegsegment, Geometriemethodewegsegment,
    Statusgebouw, Geometriemethodegebouw,
    Herkomstadrespositie, Straat,
    Huisnummer, Postkanton,
    Wegobject, Wegsegment,
    Terreinobject, Perceel,
    Gebouw, Metadata, Provincie, Subadres,
    Adrespositie
)

@pytest.mark.skipif(
    not pytest.config.getoption('--crab-integration'),
    reason='No CRAB Integration tests required'
)
class TestCrabGateway:

    def setup_method(self, method):
        self.crab_client = crab_factory()
        self.crab = CrabGateway(
            self.crab_client
        )

    def teardown_method(self, method):
        self.crab_client = None
        self.crab = None

    def test_list_gewesten(self):
        res = self.crab.list_gewesten()
        assert isinstance(res, list)
        assert isinstance(res[0], Gewest)

    def test_get_gewest_by_id(self):
        res = self.crab.get_gewest_by_id(2)
        assert isinstance(res, Gewest)
        assert res.id == 2
        assert isinstance(res.centroid, tuple)
        assert isinstance(res.bounding_box, tuple)

    def test_list_gemeenten_default(self):
        res = self.crab.list_gemeenten()
        assert isinstance(res, list)
        assert isinstance(res[0], Gemeente)
        assert res[0].gewest.id == 2

    def test_list_gemeenten_Vlaanderen(self):
        gewest = Gewest(2)
        res = self.crab.list_gemeenten(gewest)
        assert isinstance(res, list)
        assert isinstance(res[0], Gemeente)
        assert res[0].gewest.id == 2

    def test_list_provincies(self):
        gewest = Gewest(1)
        res = self.crab.list_provincies(gewest)
        assert isinstance(res, list)
        gewest = Gewest(3)
        res = self.crab.list_provincies(gewest)
        assert isinstance(res, list)
        gewest = Gewest(2)
        res = self.crab.list_provincies(gewest)
        assert isinstance(res, list)
        assert isinstance(res[0], Provincie)
        assert res[0].gewest.id == 2
        gewest = 2
        res = self.crab.list_provincies(gewest)
        assert isinstance(res, list)
        assert isinstance(res[0], Provincie)
        assert res[0].gewest.id == 2

    def test_get_provincie_by_id(self):
        res = self.crab.get_provincie_by_id(10000)
        assert isinstance(res, Provincie)
        assert res.niscode == 10000
        res = self.crab.get_provincie_by_id(20001)
        assert isinstance(res, Provincie)
        assert res.niscode == 20001
        res = self.crab.get_provincie_by_id(20002)
        assert isinstance(res, Provincie)
        assert res.niscode == 20002
        res = self.crab.get_provincie_by_id(30000)
        assert isinstance(res, Provincie)
        assert res.niscode == 30000
        res = self.crab.get_provincie_by_id(40000)
        assert isinstance(res, Provincie)
        assert res.niscode == 40000
        res = self.crab.get_provincie_by_id(50000)
        assert isinstance(res, Provincie)
        assert (res.niscode, 50000)
        res = self.crab.get_provincie_by_id(60000)
        assert isinstance(res, Provincie)
        assert (res.niscode, 60000)
        res = self.crab.get_provincie_by_id(70000)
        assert isinstance(res, Provincie)
        assert (res.niscode, 70000)
        res = self.crab.get_provincie_by_id(80000)
        assert isinstance(res, Provincie)
        assert (res.niscode, 80000)
        res = self.crab.get_provincie_by_id(90000)
        assert isinstance(res, Provincie)
        assert (res.niscode, 90000)

    def test_list_gemeenten_by_provincie(self):
        provincie = Provincie(10000, 'Antwerpen', Gewest(2))
        res = self.crab.list_gemeenten_by_provincie(provincie)
        assert isinstance(res, list)
        assert isinstance(res[0], Gemeente)
        assert (str(res[0].niscode)[0], '1')
        provincie = 10000<commit_msg>Extra unit tests for unexisting ids.<commit_after># -*- coding: utf-8 -*-

from __future__ import unicode_literals
import six

import pytest

from crabpy.client import (
    crab_factory
)

from crabpy.gateway.exception import (
    GatewayRuntimeException,
    GatewayResourceNotFoundException
)

from crabpy.gateway.crab import (
    CrabGateway, Gewest,
    Gemeente, Taal,
    Bewerking, Organisatie,
    Aardsubadres, Aardadres,
    Aardgebouw, Aardwegobject,
    Aardterreinobject, Statushuisnummer,
    Statussubadres, Statusstraatnaam,
    Statuswegsegment, Geometriemethodewegsegment,
    Statusgebouw, Geometriemethodegebouw,
    Herkomstadrespositie, Straat,
    Huisnummer, Postkanton,
    Wegobject, Wegsegment,
    Terreinobject, Perceel,
    Gebouw, Metadata, Provincie, Subadres,
    Adrespositie
)

@pytest.mark.skipif(
    not pytest.config.getoption('--crab-integration'),
    reason='No CRAB Integration tests required'
)
class TestCrabGateway:

    def setup_method(self, method):
        self.crab_client = crab_factory()
        self.crab = CrabGateway(
            self.crab_client
        )

    def teardown_method(self, method):
        self.crab_client = None
        self.crab = None

    def test_list_gewesten(self):
        res = self.crab.list_gewesten()
        assert isinstance(res, list)
        assert isinstance(res[0], Gewest)

    def test_get_gewest_by_id(self):
        res = self.crab.get_gewest_by_id(2)
        assert isinstance(res, Gewest)
        assert res.id == 2
        assert isinstance(res.centroid, tuple)
        assert isinstance(res.bounding_box, tuple)

    def test_get_gewest_by_unexisting_id(self):
        with pytest.raises(GatewayResourceNotFoundException):
            self.crab.get_gewest_by_id(-1)

    def test_list_gemeenten_default(self):
        res = self.crab.list_gemeenten()
        assert isinstance(res, list)
        assert isinstance(res[0], Gemeente)
        assert res[0].gewest.id == 2

    def test_list_gemeenten_Vlaanderen(self):
        gewest = Gewest(2)
        res = self.crab.list_gemeenten(gewest)
        assert isinstance(res, list)
        assert isinstance(res[0], Gemeente)
        assert res[0].gewest.id == 2

    def test_list_provincies(self):
        gewest = Gewest(1)
        res = self.crab.list_provincies(gewest)
        assert isinstance(res, list)
        gewest = Gewest(3)
        res = self.crab.list_provincies(gewest)
        assert isinstance(res, list)
        gewest = Gewest(2)
        res = self.crab.list_provincies(gewest)
        assert isinstance(res, list)
        assert isinstance(res[0], Provincie)
        assert res[0].gewest.id == 2
        gewest = 2
        res = self.crab.list_provincies(gewest)
        assert isinstance(res, list)
        assert isinstance(res[0], Provincie)
        assert res[0].gewest.id == 2

    def test_get_provincie_by_id(self):
        res = self.crab.get_provincie_by_id(10000)
        assert isinstance(res, Provincie)
        assert res.niscode == 10000
        res = self.crab.get_provincie_by_id(20001)
        assert isinstance(res, Provincie)
        assert res.niscode == 20001
        res = self.crab.get_provincie_by_id(20002)
        assert isinstance(res, Provincie)
        assert res.niscode == 20002
        res = self.crab.get_provincie_by_id(30000)
        assert isinstance(res, Provincie)
        assert res.niscode == 30000
        res = self.crab.get_provincie_by_id(40000)
        assert isinstance(res, Provincie)
        assert res.niscode == 40000
        res = self.crab.get_provincie_by_id(50000)
        assert isinstance(res, Provincie)
        assert (res.niscode, 50000)
        res = self.crab.get_provincie_by_id(60000)
        assert isinstance(res, Provincie)
        assert (res.niscode, 60000)
        res = self.crab.get_provincie_by_id(70000)
        assert isinstance(res, Provincie)
        assert (res.niscode, 70000)
        res = self.crab.get_provincie_by_id(80000)
        assert isinstance(res, Provincie)
        assert (res.niscode, 80000)
        res = self.crab.get_provincie_by_id(90000)
        assert isinstance(res, Provincie)
        assert (res.niscode, 90000)

    def test_get_provincie_by_unexisting_id(self):
        with pytest.raises(GatewayResourceNotFoundException):
            self.crab.get_provincie_by_id(-1)

    def test_list_gemeenten_by_provincie(self):
        provincie = Provincie(10000, 'Antwerpen', Gewest(2))
        res = self.crab.list_gemeenten_by_provincie(provincie)
        assert isinstance(res, list)
        assert isinstance(res[0], Gemeente)
        assert (str(res[0].niscode)[0], '1')
        provincie = 10000
{'fraction_non_alphanumeric': 0.09246231155778895, 'fraction_numerical': 0.030597431602456728, 'mean_word_length': 2.804587935429057, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2944112', 'n_tokens_mistral': 3176, 'n_tokens_neox': 3086, 'n_words': 565}