#!/usr/bin/env bash
# OEJ eesti keele oskus — suitsetest.
# Kontrollib, kas morfoloogia, sõnastik, käändvormid ja Ekilex on olemas.
set -euo pipefail
SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
. "$SKILL_DIR/bin/_keskkond.sh"
PY="$(oej_python)"
DATA="$SKILL_DIR/data"
fail=0

echo "== Eesti keele oskuse suitsetest =="
echo "   oskus: $SKILL_DIR"
echo "   python: $PY"

# 1. Morfoloogia (Vabamorf)
if out="$("$PY" "$SKILL_DIR/tools/analyysi.py" majades 2>&1)"; then
    if grep -q "mitmuse seesütlev" <<<"$out"; then
        echo "OK    analyysi.py — majades → maja, mitmuse seesütlev"
    else
        echo "VIGA  analyysi.py — ootasin 'mitmuse seesütlev', sain: $out"; fail=1
    fi
else
    echo "VIGA  analyysi.py ei käivitunud. Paigalda sõltuvused: ./seadista.sh"; fail=1
fi

# 2. Andmefailid
for f in est_words_160k.tsv est_inflected_forms.tsv; do
    if [ -s "$DATA/$f" ]; then
        echo "OK    $f ($(wc -l < "$DATA/$f") rida)"
    else
        echo "PUUDUB $f — käivita ./seadista.sh"; fail=1
    fi
done

# Ekilex
if [ -s "$DATA/ekilex-luhike.jsonl" ]; then
    echo "OK    ekilex-luhike.jsonl ($(wc -l < "$DATA/ekilex-luhike.jsonl") sõna, otsitav)"
elif ls "$DATA"/ekilex-*.jsonl >/dev/null 2>&1; then
    echo "POOLELI Ekilexi korje olemas, aga tihendamata — käivita bin/ekilex-tihenda"
else
    echo "POOLELI Ekilexi korje puudub — bin/ekilex-harvest --limit 1000 (vajab API-võtit)"
fi

echo "== $( [ "$fail" -eq 0 ] && echo 'PÕHITESTID OK' || echo 'VIGU: vaata ülal' ) =="
exit "$fail"
