Spaces:
Runtime error
Runtime error
import pytest | |
from app.services.translation import Translator | |
from app.services.tone_classification import ToneClassifier | |
from app.services.voice_detection import VoiceDetector | |
from app.services.gpt4_rewrite import GPT4Rewriter | |
from app.services.grammar import GrammarCorrector | |
from app.services.paraphrase import Paraphraser | |
from app.services.inclusive_language import InclusiveLanguageChecker | |
# --- Translation Tests --- | |
def translator(): | |
return Translator() | |
def test_translate_valid(translator): | |
response = translator.translate("Hello", "fr") | |
assert "result" in response | |
assert response["error"] is None | |
def test_translate_empty(translator): | |
response = translator.translate("", "fr") | |
assert response["result"] == "" | |
assert response["error"] == "Input text is empty." | |
def test_translate_invalid_lang(translator): | |
response = translator.translate("Hello", "xx") | |
assert "Unsupported target language" in response["error"] | |
# --- Tone Classification Tests --- | |
def tone_classifier(): | |
return ToneClassifier() | |
def test_tone_classify_valid(tone_classifier): | |
response = tone_classifier.classify("I am very happy today!") | |
assert "result" in response | |
assert response["error"] is None | |
def test_tone_classify_empty(tone_classifier): | |
response = tone_classifier.classify("") | |
assert response["result"] == "" | |
assert response["error"] == "Input text is empty." | |
# --- Voice Detection Tests --- | |
def voice_detector(): | |
return VoiceDetector() | |
def test_voice_classify_active(voice_detector): | |
response = voice_detector.classify("The dog chased the cat.") | |
assert response["result"] in ["Active", "Passive"] | |
assert response["error"] is None | |
def test_voice_classify_empty(voice_detector): | |
response = voice_detector.classify("") | |
assert response["result"] == "" | |
assert response["error"] == "Input text is empty." | |
# --- GPT-4 Rewrite Tests --- | |
def gpt4_rewriter(): | |
return GPT4Rewriter() | |
def test_gpt4_rewrite_valid(gpt4_rewriter): | |
response = gpt4_rewriter.rewrite( | |
"Rewrite this professionally.", "your_key_here", "You are a helpful assistant." | |
) | |
assert "result" in response or "error" in response | |
def test_gpt4_rewrite_missing_input(gpt4_rewriter): | |
response = gpt4_rewriter.rewrite("", "your_key_here", "instruction") | |
assert response["error"] == "Input text is empty." | |
def test_gpt4_rewrite_missing_key(gpt4_rewriter): | |
response = gpt4_rewriter.rewrite("Text", "", "instruction") | |
assert response["error"] == "Missing OpenAI API key." | |
def test_gpt4_rewrite_missing_instruction(gpt4_rewriter): | |
response = gpt4_rewriter.rewrite("Text", "your_key_here", "") | |
assert response["error"] == "Missing rewrite instruction." | |
# --- Grammar Correction Tests --- | |
def grammar_corrector(): | |
return GrammarCorrector() | |
def test_grammar_correct_valid(grammar_corrector): | |
response = grammar_corrector.correct("She go to school.") | |
assert "result" in response | |
assert response["error"] is None | |
def test_grammar_correct_empty(grammar_corrector): | |
response = grammar_corrector.correct("") | |
assert response["result"] == "" | |
assert response["error"] == "Input text is empty." | |
# --- Paraphraser Tests --- | |
def paraphraser(): | |
return Paraphraser() | |
def test_paraphrase_valid(paraphraser): | |
response = paraphraser.paraphrase("This is a test sentence.") | |
assert "result" in response | |
assert response["error"] is None | |
def test_paraphrase_empty(paraphraser): | |
response = paraphraser.paraphrase("") | |
assert response["result"] == "" | |
assert response["error"] == "Input text is empty." | |
# --- Inclusive Language Checker Tests --- | |
def inclusive_checker(): | |
return InclusiveLanguageChecker() | |
def test_inclusive_check_valid(inclusive_checker): | |
response = inclusive_checker.check("The chairman will arrive soon.") | |
assert "result" in response | |
assert isinstance(response["result"], list) | |
def test_inclusive_check_empty(inclusive_checker): | |
response = inclusive_checker.check("") | |
assert response["result"] == "" | |
assert response["error"] == "Input text is empty." | |