Move spawner tests into prototypes folder
This commit is contained in:
parent
55f8e58c43
commit
7f250cdec4
5 changed files with 43 additions and 48 deletions
|
|
@ -174,7 +174,7 @@ def _init():
|
||||||
from .utils import logger
|
from .utils import logger
|
||||||
from .utils import gametime
|
from .utils import gametime
|
||||||
from .utils import ansi
|
from .utils import ansi
|
||||||
from .utils.spawner import spawn
|
from .prototypes.spawner import spawn
|
||||||
from . import contrib
|
from . import contrib
|
||||||
from .utils.evmenu import EvMenu
|
from .utils.evmenu import EvMenu
|
||||||
from .utils.evtable import EvTable
|
from .utils.evtable import EvTable
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ from evennia.utils import create, utils, search
|
||||||
from evennia.utils.utils import inherits_from, class_from_module, get_all_typeclasses
|
from evennia.utils.utils import inherits_from, class_from_module, get_all_typeclasses
|
||||||
from evennia.utils.eveditor import EvEditor
|
from evennia.utils.eveditor import EvEditor
|
||||||
from evennia.utils.evmore import EvMore
|
from evennia.utils.evmore import EvMore
|
||||||
from evennia.utils import spawner
|
from evennia.prototypes import spawner
|
||||||
from evennia.utils.ansi import raw
|
from evennia.utils.ansi import raw
|
||||||
|
|
||||||
COMMAND_DEFAULT_CLASS = class_from_module(settings.COMMAND_DEFAULT_CLASS)
|
COMMAND_DEFAULT_CLASS = class_from_module(settings.COMMAND_DEFAULT_CLASS)
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ from evennia.utils.utils import (
|
||||||
from evennia.locks.lockhandler import validate_lockstring, check_lockstring
|
from evennia.locks.lockhandler import validate_lockstring, check_lockstring
|
||||||
from evennia.utils import logger
|
from evennia.utils import logger
|
||||||
from evennia.utils.evtable import EvTable
|
from evennia.utils.evtable import EvTable
|
||||||
from evennia.utils.prototypes.protfuncs import protfunc_parser
|
from evennia.prototypes.protfuncs import protfunc_parser
|
||||||
|
|
||||||
|
|
||||||
_MODULE_PROTOTYPE_MODULES = {}
|
_MODULE_PROTOTYPE_MODULES = {}
|
||||||
|
|
|
||||||
|
|
@ -129,11 +129,8 @@ import time
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
import evennia
|
import evennia
|
||||||
from random import randint
|
|
||||||
from evennia.objects.models import ObjectDB
|
from evennia.objects.models import ObjectDB
|
||||||
from evennia.utils.utils import (
|
from evennia.utils.utils import make_iter, is_iter
|
||||||
make_iter, dbid_to_obj,
|
|
||||||
is_iter, get_all_typeclasses)
|
|
||||||
from evennia.prototypes import prototypes as protlib
|
from evennia.prototypes import prototypes as protlib
|
||||||
from evennia.prototypes.prototypes import value_to_obj, value_to_obj_or_any, init_spawn_value
|
from evennia.prototypes.prototypes import value_to_obj, value_to_obj_or_any, init_spawn_value
|
||||||
|
|
||||||
|
|
@ -516,42 +513,3 @@ def spawn(*prototypes, **kwargs):
|
||||||
alias_string, nattributes, attributes, tags, execs))
|
alias_string, nattributes, attributes, tags, execs))
|
||||||
|
|
||||||
return batch_create_object(*objsparams)
|
return batch_create_object(*objsparams)
|
||||||
|
|
||||||
|
|
||||||
# Testing
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
protparents = {
|
|
||||||
"NOBODY": {},
|
|
||||||
# "INFINITE" : {
|
|
||||||
# "prototype":"INFINITE"
|
|
||||||
# },
|
|
||||||
"GOBLIN": {
|
|
||||||
"key": "goblin grunt",
|
|
||||||
"health": lambda: randint(20, 30),
|
|
||||||
"resists": ["cold", "poison"],
|
|
||||||
"attacks": ["fists"],
|
|
||||||
"weaknesses": ["fire", "light"]
|
|
||||||
},
|
|
||||||
"GOBLIN_WIZARD": {
|
|
||||||
"prototype": "GOBLIN",
|
|
||||||
"key": "goblin wizard",
|
|
||||||
"spells": ["fire ball", "lighting bolt"]
|
|
||||||
},
|
|
||||||
"GOBLIN_ARCHER": {
|
|
||||||
"prototype": "GOBLIN",
|
|
||||||
"key": "goblin archer",
|
|
||||||
"attacks": ["short bow"]
|
|
||||||
},
|
|
||||||
"ARCHWIZARD": {
|
|
||||||
"attacks": ["archwizard staff"],
|
|
||||||
},
|
|
||||||
"GOBLIN_ARCHWIZARD": {
|
|
||||||
"key": "goblin archwizard",
|
|
||||||
"prototype": ("GOBLIN_WIZARD", "ARCHWIZARD")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# test
|
|
||||||
print([o.key for o in spawn(protparents["GOBLIN"],
|
|
||||||
protparents["GOBLIN_ARCHWIZARD"],
|
|
||||||
prototype_parents=protparents)])
|
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,44 @@
|
||||||
"""
|
"""
|
||||||
Unit test for the spawner
|
Unit tests for the prototypes and spawner
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from random import randint
|
||||||
from evennia.utils.test_resources import EvenniaTest
|
from evennia.utils.test_resources import EvenniaTest
|
||||||
from evennia.utils import spawner
|
from evennia.prototypes import spawner, prototypes as protlib
|
||||||
|
|
||||||
|
|
||||||
|
_PROTPARENTS = {
|
||||||
|
"NOBODY": {},
|
||||||
|
"GOBLIN": {
|
||||||
|
"key": "goblin grunt",
|
||||||
|
"health": lambda: randint(1, 1),
|
||||||
|
"resists": ["cold", "poison"],
|
||||||
|
"attacks": ["fists"],
|
||||||
|
"weaknesses": ["fire", "light"]
|
||||||
|
},
|
||||||
|
"GOBLIN_WIZARD": {
|
||||||
|
"prototype": "GOBLIN",
|
||||||
|
"key": "goblin wizard",
|
||||||
|
"spells": ["fire ball", "lighting bolt"]
|
||||||
|
},
|
||||||
|
"GOBLIN_ARCHER": {
|
||||||
|
"prototype": "GOBLIN",
|
||||||
|
"key": "goblin archer",
|
||||||
|
"attacks": ["short bow"]
|
||||||
|
},
|
||||||
|
"ARCHWIZARD": {
|
||||||
|
"attacks": ["archwizard staff"],
|
||||||
|
},
|
||||||
|
"GOBLIN_ARCHWIZARD": {
|
||||||
|
"key": "goblin archwizard",
|
||||||
|
"prototype": ("GOBLIN_WIZARD", "ARCHWIZARD")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class TestPrototypes(EvenniaTest):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class TestSpawner(EvenniaTest):
|
class TestSpawner(EvenniaTest):
|
||||||
|
|
@ -17,6 +51,9 @@ class TestSpawner(EvenniaTest):
|
||||||
obj1 = spawner.spawn(self.prot1)
|
obj1 = spawner.spawn(self.prot1)
|
||||||
# check spawned objects have the right tag
|
# check spawned objects have the right tag
|
||||||
self.assertEqual(list(spawner.search_objects_with_prototype("testprototype")), obj1)
|
self.assertEqual(list(spawner.search_objects_with_prototype("testprototype")), obj1)
|
||||||
|
self.assertEqual([o.key for o in spawner.spawn(
|
||||||
|
_PROTPARENTS["GOBLIN"], _PROTPARENTS["GOBLIN_ARCHWIZARD"],
|
||||||
|
prototype_parents=_PROTPARENTS)], [])
|
||||||
|
|
||||||
|
|
||||||
class TestPrototypeStorage(EvenniaTest):
|
class TestPrototypeStorage(EvenniaTest):
|
||||||
Loading…
Add table
Add a link
Reference in a new issue