|
|
|
""" |
|
Test that the fixed behavior matches the original version exactly |
|
""" |
|
|
|
from thematic_word_generator import UnifiedThematicWordGenerator |
|
import logging |
|
|
|
|
|
logging.basicConfig(level=logging.INFO, format='%(message)s') |
|
|
|
def test_exact_original_behavior(): |
|
print("π§ͺ Testing Original Behavior Matching") |
|
print("=" * 60) |
|
|
|
|
|
generator = UnifiedThematicWordGenerator(vocab_size_limit=1000) |
|
generator.initialize() |
|
|
|
print("\nπ Test 1: Single sentence input (should NOT be split)") |
|
print("Input: 'I will always love you'") |
|
print("Expected: clean_inputs=['i will always love you'], multi_theme=False") |
|
|
|
results = generator.generate_thematic_words("I will always love you", num_words=3) |
|
print(f"β
Result: Found {len(results)} words") |
|
|
|
print("\nπ Test 2: Multiple sentence inputs (should trigger multi-theme)") |
|
print("Input: ['I will always love you', 'moonpie', 'chocolate']") |
|
print("Expected: clean_inputs=['i will always love you', 'moonpie', 'chocolate'], multi_theme=True (auto)") |
|
|
|
results = generator.generate_thematic_words( |
|
["I will always love you", "moonpie", "chocolate"], |
|
num_words=5 |
|
) |
|
print(f"β
Result: Found {len(results)} words") |
|
|
|
print("\nπ Test 3: Manual API call with multiple sentences") |
|
print("Input: ['science is amazing', 'technology rocks', 'innovation drives progress']") |
|
print("Expected: 3 inputs β auto multi-theme=True") |
|
|
|
results = generator.generate_thematic_words( |
|
["science is amazing", "technology rocks", "innovation drives progress"], |
|
num_words=5 |
|
) |
|
print(f"β
Result: Found {len(results)} words") |
|
|
|
print("\nπ Test 4: Two inputs (should NOT trigger multi-theme)") |
|
print("Input: ['cats', 'dogs']") |
|
print("Expected: 2 inputs β multi_theme=False") |
|
|
|
results = generator.generate_thematic_words(["cats", "dogs"], num_words=3) |
|
print(f"β
Result: Found {len(results)} words") |
|
|
|
print("\nβ
All behavior tests completed!") |
|
|
|
if __name__ == "__main__": |
|
test_exact_original_behavior() |