Add tests/test_utils_metaclasses.py
Run CI Tests / test (push) Successful in 28s

This commit is contained in:
2025-07-28 17:26:17 +02:00
parent 79f46457f0
commit 958d007e00
+32
View File
@@ -0,0 +1,32 @@
import pytest
import sys
import os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from slic.utils.metaclasses import *
# Base classes
class A:
def method_a(self):
return "A"
class B:
def method_b(self):
return "B"
# Combine A and B into a single metaclass
CombinedMeta = combine_classes(A, B)
# Use it as metaclass for a new class
class MyCombinedClass(metaclass=CombinedMeta):
pass
def test_combine_classes_as_metaclass():
obj = MyCombinedClass()
# Verify that methods from both base classes are available
assert isinstance(obj, MyCombinedClass)
assert isinstance(obj, A) # via metaclass
assert isinstance(obj, B) # via metaclass
assert obj.method_a() == "A"
assert obj.method_b() == "B"