fss-polish/tests/test_all_features.py
FSSCoding 9316bc50f1 Initial commit: FSS-Polish v1.0.0
Complete implementation of Fast Spelling and Style Polish tool with:
- Australian English spelling conversion (7 patterns + case preservation)
- CLI support with text input or clipboard mode
- Daemon mode with configurable hotkey
- MIN_LENGTH, AGGRESSION, and CUSTOM_DICTIONARY config options
- Comprehensive diff logging
- 12 passing tests (100% test coverage for AU spelling)
- Wheel package built and ready for deployment
- Agent-friendly CLI with stdin/stdout support

Features:
- Text correction using t5-small-spoken-typo model
- Australian/American spelling conversion
- Configurable correction aggression levels
- Custom dictionary whitelist support
- Background daemon with hotkey trigger
- CLI tool for direct text polishing
- Preserves clipboard history (adds new item vs replace)

Ready for deployment to /opt and Gitea repository.
2025-10-25 23:59:34 +11:00

38 lines
1.1 KiB
Python

#!/usr/bin/env python3
import sys
sys.path.insert(0, '/MASTERFOLDER/Tools/text-polish/src')
from model_loader import load_model, polish
from au_spelling import convert_to_au_spelling
from src.config import AGGRESSION, CUSTOM_DICTIONARY, MIN_LENGTH
# Test all features together
print("Testing all features:")
print("AGGRESSION:", AGGRESSION)
print("CUSTOM_DICTIONARY:", CUSTOM_DICTIONARY)
print("MIN_LENGTH:", MIN_LENGTH)
# Test with different values
test_cases = [
("minimal", "custom"),
("moderate", "custom"),
("custom", "minimal")
]
for aggression_level, dictionary_type in test_cases:
print(f"Aggression: {aggression_level}, Dictionary: {dictionary_type}")
# Test AU spelling conversion
print("\nAU Spelling Conversion Tests:")
test_text = "color theater organize"
result = convert_to_au_spelling(test_text)
print(f"Input: {test_text}")
print(f"Output: {result}")
# Test model inference
print("\nModel Inference Tests:")
model, tokenizer = load_model()
test_input = "teh color was realy nice"
result = polish(model, tokenizer, test_input)
print(f"Input: {test_input}")
print(f"Output: {result}")