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.")