backend_project / tests /test_services /test_encoding.py
Jetsada117's picture
add feature test project
b0dfd19
Raw
History Blame Contribute Delete
1.41 kB
from app.services.encoding_service import encoder
def test_text_to_vector_basic():
text = "ผู้ชาย วัยรุ่น ผมดำ"
vector = encoder.text_to_vector(text)
# Check if gender 'ชาย' is set (index 6, 7 in total feature names)
# feature_names order: age_cats(6), gender_cats(2), ...
# gender_categories = ["หญิง", "ชาย"]
# So 'ชาย' should be index 6 + 1 = 7
assert vector[7] == 1
assert vector[6] == 0
def test_vector_to_text():
# Create a vector for a young female with black hair
vector = [0] * 25
vector[2] = 1 # วัยรุ่น
vector[6] = 1 # หญิง
vector[10] = 1 # ผมดำ
vector[11] = 1 # ผมตรง
vector[13] = 1 # คิ้วหนา
vector[17] = 1 # ผิวขาว
text_list = encoder.vector_to_text(vector)
assert "หญิง" in text_list
assert "วัยรุ่น" in text_list
assert "ผมดำ" in text_list
def test_parse_text_complex():
text = "ผู้หญิง วัยรุ่น ผมตรง คิ้วหนา ผิวสองสี"
parsed = encoder.parse_text(text)
assert parsed["gender"] == "หญิง"
assert parsed["age"] == "วัยรุ่น"
assert "คิ้วหนา" in parsed["eyebrow"]
assert parsed["skin"] == "ผิวสองสี"