File size: 3,429 Bytes
486eff6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
#!/usr/bin/env python3
"""
Simple test for WordNet clue generator functionality.
Tests basic clue generation without heavy initialization.
"""
import sys
from pathlib import Path
# Add hack directory to path
sys.path.insert(0, str(Path(__file__).parent))
def test_basic_wordnet():
"""Test basic WordNet functionality."""
print("π§ͺ Basic WordNet Test")
print("=" * 30)
try:
import nltk
from nltk.corpus import wordnet as wn
print("β
NLTK and WordNet imported")
# Test basic synset lookup
test_words = ['cat', 'computer', 'run']
for word in test_words:
synsets = wn.synsets(word)
print(f"\nπ '{word}': {len(synsets)} synsets")
if synsets:
# Show first synset info
first = synsets[0]
print(f" Definition: {first.definition()}")
print(f" Examples: {first.examples()[:1]}")
# Show synonyms
synonyms = [lemma.name().replace('_', ' ') for lemma in first.lemmas()[:3]]
print(f" Synonyms: {synonyms}")
# Show hypernyms (categories)
hypernyms = [hyp.lemmas()[0].name().replace('_', ' ') for hyp in first.hypernyms()[:2]]
print(f" Categories: {hypernyms}")
return True
except Exception as e:
print(f"β Error: {e}")
return False
def test_clue_generation_simple():
"""Test simple clue generation logic."""
print("\nπ― Simple Clue Generation Test")
print("=" * 35)
try:
from nltk.corpus import wordnet as wn
test_words = ["dog", "computer", "guitar"]
for word in test_words:
synsets = wn.synsets(word)
if synsets:
# Test definition-based clue
definition = synsets[0].definition()
print(f"\n{word.upper()}: {definition}")
# Simple clue processing - avoid target word in definition
clue = definition.lower()
if word.lower() not in clue:
clue = clue.capitalize()
if len(clue) > 50:
clue = clue[:47] + "..."
print(f"Generated clue: {clue}")
else:
print(f"Skipped (contains target word)")
return True
except Exception as e:
print(f"β Clue generation error: {e}")
return False
def main():
"""Run simple tests."""
print("π WordNet Simple Test Suite")
print("=" * 40)
# Test basic functionality
basic_ok = test_basic_wordnet()
if basic_ok:
# Test clue generation
clue_ok = test_clue_generation_simple()
if clue_ok:
print("\nβ
Basic WordNet functionality working!")
print("π‘ Ready to test full WordNet clue generator")
else:
print("\nβ οΈ Basic WordNet works, but clue generation needs work")
else:
print("\nβ WordNet not working properly")
print("π‘ Try: pip install nltk, then python -c 'import nltk; nltk.download(\"wordnet\")'")
return basic_ok and clue_ok
if __name__ == "__main__":
main() |