def test_scr2chr_ok1(self):
""" Screencodes 0 bis 63 mit Zeichensatz 1 """
# Grossbuchstaben: SCRCODE 0-31 -> ASCII 64-95
for i in range(32):
if i in (28, 31): # Pfundzeichen und Pfeil links ueberspringen
continue
res = codetable.scr2chr(i, 1)
if self.debug:
print(res, end='')
self.assertEqual(res, chr(64+i))
if self.debug:
print('')
# Ziffern usw.: SCRCODE 32-63 -> ASCII 32-63
for i in range(32, 64):
res = codetable.scr2chr(i, 1)
if self.debug:
print(res, end='')
self.assertEqual(res, chr(i))
if self.debug:
print('')
def test_scr2chr_ok2(self):
""" Screencodes 0 bis 91 mit Zeichensatz 2 """
# AT-Zeichen: SCRCODE 0 -> ASCII 64
res = codetable.scr2chr(0, 2)
if self.debug:
print(res)
self.assertEqual(res, chr(64))
# Kleinbuchstaben: SCRCODE 1-26 -> ASCII 97-122
for i in range(1, 27):
res = codetable.scr2chr(i, 2)
if self.debug:
print(res, end='')
self.assertEqual(res, chr(i+96))
if self.debug:
print('')
# []^: SCRCODE 27-31 (ohne 28 und 31) -> ASCII 91-95
for i in (27, 29, 30):
res = codetable.scr2chr(i, 2)
if self.debug:
print(res, end='')
self.assertEqual(res, chr(i+64))
if self.debug:
print('')
# Ziffern usw.: SCRCODE 32-63 -> ASCII 32-63
for i in range(32, 64):
res = codetable.scr2chr(i, 1)
if self.debug:
print(res, end='')
self.assertEqual(res, chr(i))
if self.debug:
print('')
# Grossbuchstaben: SCRCODE 65-90 -> ASCII 65-90
for i in range(65, 91):
res = codetable.scr2chr(i, 2)
if self.debug:
print(res, end='')
self.assertEqual(res, chr(i))
if self.debug:
print('')
def test_scr2chr_err1(self):
""" Nicht unterstuetzte Zeichen """
errch = chr(27)+"[7m"+"?"+chr(27)+"[m"
res = codetable.scr2chr(64, 1)
self.assertEqual(res, errch)
res = codetable.scr2chr(96, 2)
self.assertEqual(res, errch)
def test_chr2scr_ok1(self):
""" ASCII-Codes 32-95 mit Zeichensatz 1, ohne
Backslash und Unterstrich, da es fuer diese
beiden Zeichen keine passenden Bildschirmcodes
gibt.
"""
# Ziffern usw.: ASCII 32-63 -> SCRCODE 32-63
for i in range(32, 64):
res = codetable.chr2scr(chr(i), 1)
if self.debug:
print(res, end=',')
self.assertEqual(res, i)
if self.debug:
print('')
# Grossbuchstaben: ASCII 64-90 -> SCRCODE 0-26
for i in range(64, 91):
res = codetable.chr2scr(chr(i), 1)
if self.debug:
print(res, end=',')
self.assertEqual(res, i-64)
if self.debug:
print('')
# []^: ASCII 91, 93, 94 -> SCRCODE 27, 29, 30
for i in [91, 93, 94]:
res = codetable.chr2scr(chr(i), 1)
if self.debug:
print(res, end=',')
self.assertEqual(res, i-64)
if self.debug:
print('')
def test_chr2scr_ok2(self):
""" ASCII-Codes 32-122 mit Zeichensatz 2, ohne
Backslash, Unterstrich und Aszent, da es fuer
diese drei Zeichen keine passenden Bildschirmcodes
gibt.
"""
# Ziffern usw.: ASCII 32-63 -> SCRCODE 32-63
for i in range(32,64):
res = codetable.chr2scr(chr(i), 2)
if self.debug:
print(res, end=',')
self.assertEqual(res, i)
if self.debug:
print('')
# AT-Zeichen: ASCII 64 -> SCRCODE 0
res = codetable.chr2scr(chr(64), 2)
if self.debug:
print(res)
self.assertEqual(res, 0)
# Grossbuchstaben: ASCII 65-90 -> SCRCODE 65-90
for i in range(65, 91):
res = codetable.chr2scr(chr(i), 2)
if self.debug:
print(res, end=',')
self.assertEqual(res, i)
if self.debug:
print('')
# []^: ASCII 91, 93, 94 -> SCRCODE 27, 29, 30
for i in [91, 93, 94]:
res = codetable.chr2scr(chr(i), 2)
if self.debug:
print(res, end=',')
self.assertEqual(res, i-64)
if self.debug:
print('')
# Kleinbuchstaben: ASCII 97-122 -> SCRCODE 1-26
for i in range(97, 123):
res = codetable.chr2scr(chr(i), 2)
if self.debug:
print(res, end=',')
self.assertEqual(res, i-96)
if self.debug:
print('')
def test_chr2scr_err1(self):
""" Unzulaessiges Zeichen """
for i in range(32):
res = codetable.chr2scr(chr(i), 1)
self.assertEqual(res, 255)
for i in [92, 95, 96]:
res = codetable.chr2scr(chr(i), 2)
self.assertEqual(res, 255)