From 889f136031f2de4e3892302b0b3e633ac63e62f5 Mon Sep 17 00:00:00 2001 From: ChrisLR Date: Sun, 2 Apr 2023 22:11:01 -0400 Subject: [PATCH] Added test case --- evennia/contrib/base_systems/components/tests.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/evennia/contrib/base_systems/components/tests.py b/evennia/contrib/base_systems/components/tests.py index 3e90b67344..eb1717c939 100644 --- a/evennia/contrib/base_systems/components/tests.py +++ b/evennia/contrib/base_systems/components/tests.py @@ -42,6 +42,10 @@ class CharacterWithComponents(ComponentHolderMixin, DefaultCharacter): test_b = ComponentProperty("test_b", my_int=3, my_list=[1, 2, 3]) +class InheritedTCWithComponents(CharacterWithComponents): + test_c = ComponentProperty("test_c") + + class TestComponents(EvenniaTest): character_typeclass = CharacterWithComponents @@ -49,6 +53,14 @@ class TestComponents(EvenniaTest): assert self.char1.test_a assert self.char1.test_b + def test_inherited_typeclass_does_not_include_child_class_components(self): + char_with_c = create.create_object( + InheritedTCWithComponents, key="char_with_c", location=self.room1, home=self.room1 + ) + assert self.char1.test_a + assert not self.char1.cmp.get('test_c') + assert char_with_c.test_c + def test_character_instances_components_properly(self): assert isinstance(self.char1.test_a, ComponentTestA) assert isinstance(self.char1.test_b, ComponentTestB)