Files
Sheerka-Old/tests/test_utils.py
T

59 lines
2.3 KiB
Python

import core.utils
import pytest
@pytest.mark.parametrize("lst, as_string", [
(None, "",),
([], ""),
(["hello", "world"], "hello world"),
# (["hello world", "my friend"], '"hello world" "my friend"')
])
def test_i_can_create_string_from_a_list(lst, as_string):
assert core.utils.sysarg_to_string(lst) == as_string
def test_i_can_get_classes():
classes = list(core.utils.get_classes("core.builtin_concepts"))
error_concept = core.utils.get_class("core.builtin_concepts.ErrorConcept")
return_value_concept = core.utils.get_class("core.builtin_concepts.ReturnValueConcept")
assert len(classes) > 2
assert error_concept in classes
assert return_value_concept in classes
def test_i_can_get_base_classes():
classes = list(core.utils.get_classes_from_package("parsers"))
# example of classes that should be in the result
base_parser = core.utils.get_class("parsers.BaseParser.BaseParser")
default_parser = core.utils.get_class("parsers.DefaultParser.DefaultParser")
exact_concept_parser = core.utils.get_class("parsers.ExactConceptParser.ExactConceptParser")
python_parser = core.utils.get_class("parsers.PythonParser.PythonParser")
node = core.utils.get_class("parsers.BaseParser.Node")
def_concept_node = core.utils.get_class("parsers.DefaultParser.DefConceptNode")
python_node = core.utils.get_class("parsers.PythonParser.PythonNode")
assert base_parser in classes
assert default_parser in classes
assert exact_concept_parser in classes
assert python_parser in classes
assert node in classes
assert def_concept_node in classes
assert python_node in classes
def test_i_can_get_sub_classes():
sub_classes = core.utils.get_sub_classes("parsers", "parsers.BaseParser.BaseParser")
# example of classes that should be (or not) in the result
base_parser = core.utils.get_class("parsers.BaseParser.BaseParser")
default_parser = core.utils.get_class("parsers.DefaultParser.DefaultParser")
exact_concept_parser = core.utils.get_class("parsers.ExactConceptParser.ExactConceptParser")
python_parser = core.utils.get_class("parsers.PythonParser.PythonParser")
assert base_parser not in sub_classes
assert default_parser in sub_classes
assert exact_concept_parser in sub_classes
assert python_parser in sub_classes