Module lum.clu.odin.tests.utils

Expand source code
from pydantic import BaseModel
import json
import os
import typing

# Test utilities

class TestCaseMentionsData(BaseModel):
    name: str
    path: str

    @property
    def json_dict(self) -> dict[str, typing.Any]:
        with open(self.path, "r") as infile:
          return json.load(infile)
    
test_cases = [
    TestCaseMentionsData(
        name="old-mentions",
        path=os.path.join(
          os.path.dirname(os.path.realpath(__file__)), 
          "data", 
          "mentions-old.json"
        )
    ),
    TestCaseMentionsData(
        name="overlapping-mentions",
        path=os.path.join(
          os.path.dirname(os.path.realpath(__file__)), 
          "data", 
          "overlapping-mentions.json"
        )
    )
]

Classes

class TestCaseMentionsData (**data: Any)

Usage docs: https://docs.pydantic.dev/2.9/concepts/models/

A base class for creating Pydantic models.

Attributes

__class_vars__
The names of the class variables defined on the model.
__private_attributes__
Metadata about the private attributes of the model.
__signature__
The synthesized __init__ [Signature][inspect.Signature] of the model.
__pydantic_complete__
Whether model building is completed, or if there are still undefined fields.
__pydantic_core_schema__
The core schema of the model.
__pydantic_custom_init__
Whether the model has a custom __init__ function.
__pydantic_decorators__
Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.
__pydantic_generic_metadata__
Metadata for generic models; contains data used for a similar purpose to args, origin, parameters in typing-module generics. May eventually be replaced by these.
__pydantic_parent_namespace__
Parent namespace of the model, used for automatic rebuilding of models.
__pydantic_post_init__
The name of the post-init method for the model, if defined.
__pydantic_root_model__
Whether the model is a [RootModel][pydantic.root_model.RootModel].
__pydantic_serializer__
The pydantic-core SchemaSerializer used to dump instances of the model.
__pydantic_validator__
The pydantic-core SchemaValidator used to validate instances of the model.
__pydantic_extra__
A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to 'allow'.
__pydantic_fields_set__
The names of fields explicitly set during instantiation.
__pydantic_private__
Values of private attributes set on the model instance.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Expand source code
class TestCaseMentionsData(BaseModel):
    name: str
    path: str

    @property
    def json_dict(self) -> dict[str, typing.Any]:
        with open(self.path, "r") as infile:
          return json.load(infile)

Ancestors

  • pydantic.main.BaseModel

Class variables

var model_computed_fields
var model_config
var model_fields
var name : str
var path : str

Instance variables

var json_dict : dict[str, typing.Any]
Expand source code
@property
def json_dict(self) -> dict[str, typing.Any]:
    with open(self.path, "r") as infile:
      return json.load(infile)