Testing Dynamic Class Import Implementation in OpenHands
This test suite validates the implementation of import utility functions in the OpenHands project, specifically focusing on dynamic class instantiation and abstract base class implementation verification. The tests ensure proper inheritance and method overriding behavior.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
all-hands-ai/openhands
tests/unit/test_import_utils.py
from abc import abstractmethod
from dataclasses import dataclass
from openhands.utils.import_utils import get_impl
class Shape:
@abstractmethod
def get_area(self):
"""Get the area of this shape"""
@dataclass
class Square(Shape):
length: float
def get_area(self):
return self.length**2
def test_get_impl():
ShapeImpl = get_impl(Shape, f'{Shape.__module__}.Square')
shape = ShapeImpl(5)
assert shape.get_area() == 25