Source code for evennia.contrib.utils.tree_select.tests

"""
Test tree select

"""

from evennia.contrib.utils.fieldfill import fieldfill
from evennia.utils.test_resources import BaseEvenniaTest

from . import tree_select

TREE_MENU_TESTSTR = """Foo
Bar
-Baz
--Baz 1
--Baz 2
-Qux"""


[docs]class TestTreeSelectFunc(BaseEvenniaTest):
[docs] def test_tree_functions(self): # Dash counter self.assertTrue(tree_select.dashcount("--test") == 2) # Is category self.assertTrue(tree_select.is_category(TREE_MENU_TESTSTR, 1) is True) # Parse options self.assertTrue( tree_select.parse_opts(TREE_MENU_TESTSTR, category_index=2) == [(3, "Baz 1"), (4, "Baz 2")] ) # Index to selection self.assertTrue(tree_select.index_to_selection(TREE_MENU_TESTSTR, 2) == "Baz") # Go up one category self.assertTrue(tree_select.go_up_one_category(TREE_MENU_TESTSTR, 4) == 2) # Option list to menu options test_optlist = tree_select.parse_opts(TREE_MENU_TESTSTR, category_index=2) optlist_to_menu_expected_result = [ {"goto": ["menunode_treeselect", {"newindex": 3}], "key": "Baz 1"}, {"goto": ["menunode_treeselect", {"newindex": 4}], "key": "Baz 2"}, { "goto": ["menunode_treeselect", {"newindex": 1}], "key": ["<< Go Back", "go back", "back"], "desc": "Return to the previous menu.", }, ] self.assertTrue( tree_select.optlist_to_menuoptions(TREE_MENU_TESTSTR, test_optlist, 2, True, True) == optlist_to_menu_expected_result )
FIELD_TEST_TEMPLATE = [ {"fieldname": "TextTest", "fieldtype": "text"}, {"fieldname": "NumberTest", "fieldtype": "number", "blankmsg": "Number here!"}, {"fieldname": "DefaultText", "fieldtype": "text", "default": "Test"}, {"fieldname": "DefaultNum", "fieldtype": "number", "default": 3}, ] FIELD_TEST_DATA = {"TextTest": None, "NumberTest": None, "DefaultText": "Test", "DefaultNum": 3}
[docs]class TestFieldFillFunc(BaseEvenniaTest):
[docs] def test_field_functions(self): self.assertTrue(fieldfill.form_template_to_dict(FIELD_TEST_TEMPLATE) == FIELD_TEST_DATA)