CoolFace
Apppublic

Piyush23890/Sign_Language_Decoder

sourceHugging Facemitupdated 6mo agoView on Hugging Face
0likes
test_sentence_builder.py118 linesDownload Raw Back to root
1"""2test_sentence_builder.py3========================4Unit tests for the SentenceBuilder class.5 6Run with:7    python -m pytest test_sentence_builder.py -v8  or:9    python test_sentence_builder.py10"""11 12import sys13import os14sys.path.insert(0, os.path.dirname(__file__))15 16from sentence_builder import SentenceBuilder17 18 19def test_add_letters():20    sb = SentenceBuilder()21    sb.add("H"); sb.add("I")22    assert sb.get() == "HI"23 24 25def test_add_word():26    sb = SentenceBuilder()27    sb.add("HELLO")28    assert sb.get() == "HELLO"29 30 31def test_pause_inserts_space():32    sb = SentenceBuilder()33    sb.add("H"); sb.add("I"); sb.add("PAUSE")34    assert sb.get() == "HI "35 36 37def test_pause_no_double_space():38    sb = SentenceBuilder()39    sb.add("HI"); sb.add("PAUSE"); sb.add("PAUSE")40    assert sb.get() == "HI "41 42 43def test_backspace_letter():44    sb = SentenceBuilder()45    sb.add("A"); sb.add("B"); sb.add("C")46    sb.backspace()47    assert sb.get() == "AB"48 49 50def test_backspace_word():51    sb = SentenceBuilder()52    sb.add("HELLO"); sb.add(" "); sb.add("WORLD")53    sb.backspace()54    # removes "WORLD", leaves "HELLO "55    assert sb.get() == "HELLO "56 57 58def test_backspace_trailing_space():59    sb = SentenceBuilder()60    sb.add("HI"); sb.add_space()61    assert sb.get() == "HI "62    sb.backspace()63    assert sb.get() == "HI"64 65 66def test_clear():67    sb = SentenceBuilder()68    sb.add("HELLO")69    sb.clear()70    assert sb.get() == ""71 72 73def test_refined_capitalise_and_period():74    sb = SentenceBuilder()75    sb.add("hello"); sb.add_space(); sb.add("world")76    assert sb.refined() == "Hello world."77 78 79def test_refined_no_double_period():80    sb = SentenceBuilder()81    sb.add("done.")82    assert sb.refined() == "Done."83 84 85def test_add_space_helper():86    sb = SentenceBuilder()87    sb.add("A")88    sb.add_space()89    assert sb.get() == "A "90 91 92# ── CLI runner ──────────────────────────────────────────────────────────────────93if __name__ == "__main__":94    tests = [95        test_add_letters,96        test_add_word,97        test_pause_inserts_space,98        test_pause_no_double_space,99        test_backspace_letter,100        test_backspace_word,101        test_backspace_trailing_space,102        test_clear,103        test_refined_capitalise_and_period,104        test_refined_no_double_period,105        test_add_space_helper,106    ]107 108    passed = 0109    for t in tests:110        try:111            t()112            print(f"  ✅  {t.__name__}")113            passed += 1114        except AssertionError as e:115            print(f"  ❌  {t.__name__}  —  {e}")116 117    print(f"\n{passed}/{len(tests)} tests passed.")118