Sobes.tech
Middle

Hogyan lehet ellenőrizni a határértékeket nem numerikus, hanem alfabetikus tartományban?

sobes.tech MI

Válasz az MI-től

Az alfabetikus tartományban lévő határértékek ellenőrzése magában foglalja az első és utolsó megengedett karakter, valamint a megengedett tartomány előtt és után lévő karakterek tesztelését, ha azok a karakterkészletben léteznek.

Például, egy olyan mező esetében, amely kisbetűs cirill betűket fogad el (а-я):

  • Alsó határ:
    • 'а' (az első megengedett karakter)
    • A karakter 'а' előtt (ha alkalmazható és létezik a használt kódolásban)
  • Felső határ:
    • 'я' (az utolsó megengedett karakter)
    • A karakter 'я' után (ha alkalmazható és létezik a használt kódolásban)

Ezen kívül ellenőrizhetők:

  • Üres sztring: ""
  • Egyszavas sztring: 'б' (bármilyen karakter a tartományon belül)
  • Tartományon kívüli karaktereket tartalmazó sztring:
    • Latin: 'a', 'z'
    • Számok: '1', '9'
    • Speciális karakterek: '$', '#'
    • Cirill nagybetűk: 'А', 'Я'
  • Tartományon belül és kívül lévő karaktereket tartalmazó sztring: "абвA1"

A tesztelés magában foglalja ezeknek az értékeknek a beviteli mezőbe való küldését, és a rendszer várt viselkedésének ellenőrzését: az engedélyezett értékek elfogadása és a nem megengedettek elutasítása (vagy helyes kezelése).

Python példakód:

# A kisbetűs cirill sztring validálására szolgáló funkció
def validate_cyrillic_lowercase(text):
    import re
    return bool(re.fullmatch('[а-я]+', text))

# Határértékekhez tartozó tesztesetek
test_cases = {
    "Alsó határ (első karakter)": ('а', True),
    "Alsó határ (a tartomány előtt, érvénytelen)": ('`', False), # Példa a 'а' előtt álló karakterre
    "Felső határ (utolsó karakter)": ('я', True),
    "Felső határ (a tartomány után, érvénytelen)": ('{', False), # Példa a 'я' után álló karakterre
    "Tartományon belül": ('абв', True),
    "Üres sztring": ('', False),
    "Latin": ('abc', False),
    "Számok": ('123', False),
    "Speciális karakterek": ('@#$', False),
    "Cirill nagybetűk": ('АБВ', False),
    "Keverék sztring": ('абвA1', False)
}

# Tesztek futtatása
for leiras, (ertek, varhato) in test_cases.items():
    eredmeny = validate_cyrillic_lowercase(ertek)
    assert eredmeny == varhato, f"Teszt: {leiras}, Érték: '{ertek}', Várt: {varhato}, Kapott: {eredmeny}"
    print(f"'{leiras}' teszt sikeresen átment.")