forked from filipg/zjfz-2020
45 lines
1.2 KiB
Python
Executable File
45 lines
1.2 KiB
Python
Executable File
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
Zadanie 214
|
|
|
|
Napisz funkcję `hex_automaton()`, która tworzy i zwraca automat
|
|
akceptujący napisy reprezentujące liczby szesnastkowo.
|
|
Cyfry szesnastkowe mogą być reprezentowane za pomocą małych
|
|
bądź wielkich liter, ale konsekwentnie ("a0f9" i "A0F9" ma być akceptowane,
|
|
"a0F9" i "A0f9" - nie). Liczba może zawierać zera nieznaczące na początku.
|
|
|
|
NAME: hex_automaton
|
|
PARAMS: -
|
|
RETURN: DeterministicAutomaton
|
|
POINTS: 8
|
|
"""
|
|
|
|
import unittest
|
|
from Task214 import hex_automaton
|
|
|
|
class Task214Test(unittest.TestCase):
|
|
"""Testy do zadania 214"""
|
|
|
|
def test_simple(self):
|
|
"""Prosty test."""
|
|
|
|
automaton = hex_automaton()
|
|
|
|
self.assertTrue(automaton.accepts("a0f9"))
|
|
self.assertTrue(automaton.accepts("A0F9"))
|
|
self.assertTrue(automaton.accepts("0"))
|
|
self.assertTrue(automaton.accepts("0B000"))
|
|
self.assertTrue(automaton.accepts("DDDD"))
|
|
self.assertTrue(automaton.accepts("baca"))
|
|
|
|
self.assertFalse(automaton.accepts("gg"))
|
|
self.assertFalse(automaton.accepts("a0F9"))
|
|
self.assertFalse(automaton.accepts("A0f9"))
|
|
self.assertFalse(automaton.accepts("Baca"))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|