Spaces:
Sleeping
Sleeping
| """ | |
| Unit tests Layer 0 — Tier Classification. | |
| """ | |
| import pytest | |
| from matching_engine.constraints import determine_tier, TIER_1_KOTA_IHK | |
| from matching_engine.models import Tier | |
| class TestTierClassification: | |
| def test_kota_surabaya_is_tier1(self): | |
| assert determine_tier("3578") == Tier.HIGH | |
| def test_kota_malang_is_tier1(self): | |
| assert determine_tier("3573") == Tier.HIGH | |
| def test_kota_kediri_is_tier1(self): | |
| assert determine_tier("3571") == Tier.HIGH | |
| def test_kota_madiun_is_tier1(self): | |
| assert determine_tier("3577") == Tier.HIGH | |
| def test_kota_probolinggo_is_tier1(self): | |
| assert determine_tier("3574") == Tier.HIGH | |
| def test_banyuwangi_is_tier1(self): | |
| assert determine_tier("3510") == Tier.HIGH | |
| def test_sumenep_is_tier1(self): | |
| assert determine_tier("3529") == Tier.HIGH | |
| def test_jember_is_tier1(self): | |
| assert determine_tier("3509") == Tier.HIGH | |
| def test_kabupaten_kediri_is_tier2(self): | |
| # Kabupaten Kediri (3506) berbeda dengan Kota Kediri (3571) | |
| assert determine_tier("3506") == Tier.MEDIUM | |
| def test_sidoarjo_is_tier2(self): | |
| # Sidoarjo bukan kota IHK meskipun IPM tinggi | |
| assert determine_tier("3515") == Tier.MEDIUM | |
| def test_sampang_is_tier2(self): | |
| assert determine_tier("3527") == Tier.MEDIUM | |
| def test_pacitan_is_tier2(self): | |
| assert determine_tier("3501") == Tier.MEDIUM | |
| def test_kota_batu_is_tier2(self): | |
| # Kota Batu (3579) bukan kota IHK | |
| assert determine_tier("3579") == Tier.MEDIUM | |
| def test_unknown_kabupaten_is_tier2(self): | |
| # Default fallback untuk kab yang tidak dikenali | |
| assert determine_tier("9999") == Tier.MEDIUM | |
| def test_tier1_count_is_8(self): | |
| """8 kota IHK Jawa Timur tepat.""" | |
| assert len(TIER_1_KOTA_IHK) == 8 | |
| def test_tier1_set_membership(self): | |
| expected = {"3578", "3573", "3571", "3577", "3574", "3510", "3529", "3509"} | |
| assert TIER_1_KOTA_IHK == expected | |