SiPerak / tests /test_classifier.py
Ilnaa's picture
Upload folder using huggingface_hub
42fd126 verified
Raw History Blame Contribute Delete
1.49 kB
"""Uji modul AI: deteksi spam & klasifikasi kategori (revisi UC-02 & UC-04)."""
from src.constants import CATEGORIES, LABEL_LAYAK, LABEL_SPAM
def test_spam_terdeteksi(classifier):
res = classifier.predict("asdkjasd test test 123 wkwkwk iseng doang")
assert res.is_spam is True
assert res.spam_label == LABEL_SPAM
assert res.kategori is None # spam tidak dikategorikan
def test_laporan_layak_tidak_dianggap_spam(classifier):
res = classifier.predict(
"Jalan di depan rumah saya berlubang besar dan membahayakan pengendara"
)
assert res.is_spam is False
assert res.spam_label == LABEL_LAYAK
assert res.kategori in CATEGORIES
def test_klasifikasi_kategori_infrastruktur(classifier):
res = classifier.predict("Lampu jalan mati dan jalan berlubang membahayakan pengendara")
assert res.kategori == "Infrastruktur"
assert 0.0 <= res.kategori_confidence <= 1.0
def test_klasifikasi_kategori_lingkungan(classifier):
res = classifier.predict("Sampah menumpuk di sungai menyebabkan banjir dan bau busuk")
assert res.kategori == "Lingkungan"
def test_teks_kosong_dianggap_spam(classifier):
res = classifier.predict(" ")
assert res.is_spam is True
assert res.kategori is None
def test_confidence_dalam_rentang_valid(classifier):
res = classifier.predict("Pelayanan KTP di kecamatan sangat lambat dan berbelit")
assert 0.0 <= res.spam_confidence <= 1.0
assert 0.0 <= res.kategori_confidence <= 1.0