Better Object Internal Structure and Type Selection
This commit is contained in:
@@ -3,29 +3,34 @@ from jambo.parser._type_parser import GenericTypeParser
|
||||
from unittest import TestCase
|
||||
|
||||
|
||||
class InvalidGenericTypeParser(GenericTypeParser):
|
||||
mapped_type = str
|
||||
json_schema_type = "invalid"
|
||||
|
||||
def from_properties(
|
||||
self, name: str, properties: dict[str, any], required: bool = False
|
||||
): ...
|
||||
|
||||
|
||||
class TestGenericTypeParser(TestCase):
|
||||
def setUp(self):
|
||||
class InvalidGenericTypeParser(GenericTypeParser):
|
||||
mapped_type = str
|
||||
json_schema_type = "type:invalid"
|
||||
|
||||
def from_properties(
|
||||
self, name: str, properties: dict[str, any], required: bool = False
|
||||
): ...
|
||||
|
||||
self.InvalidGenericTypeParser = InvalidGenericTypeParser
|
||||
|
||||
def tearDown(self):
|
||||
del self.InvalidGenericTypeParser
|
||||
|
||||
def test_invalid_get_impl(self):
|
||||
# Assuming GenericTypeParser is imported from the module
|
||||
with self.assertRaises(ValueError):
|
||||
GenericTypeParser.get_impl("another_invalid_type")
|
||||
GenericTypeParser._get_impl({"type": "another_invalid_type"})
|
||||
|
||||
def test_invalid_json_schema_type(self):
|
||||
InvalidGenericTypeParser.json_schema_type = None
|
||||
self.InvalidGenericTypeParser.json_schema_type = None
|
||||
|
||||
# This is more for the developer's sanity check
|
||||
with self.assertRaises(RuntimeError):
|
||||
GenericTypeParser.get_impl("another_invalid_type")
|
||||
GenericTypeParser._get_impl({"type": "another_invalid_type"})
|
||||
|
||||
def test_invalid_mappings_properties_builder(self):
|
||||
parser = InvalidGenericTypeParser()
|
||||
parser = self.InvalidGenericTypeParser()
|
||||
with self.assertRaises(NotImplementedError):
|
||||
parser.mappings_properties_builder({}, required=False)
|
||||
|
||||
Reference in New Issue
Block a user