# Path: pandasdmx/message.py
# def _summarize(obj, fields):
#     def __repr__(self):
#     def compare(self, other, strict=True):
#     def compare(self, other, strict=True):
#     def to_pandas(self, *args, **kwargs):
#     def __str__(self):
#     def __repr__(self):
#     def compare(self, other, strict=True):
#     def compare(self, other, strict=True):
#     def add(self, obj: model.IdentifiableArtefact):
#     def get(
#         self, obj_or_id: Union[str, model.IdentifiableArtefact]
#     ) -> Optional[model.IdentifiableArtefact]:
#     def objects(self, cls):
#     def __contains__(self, item):
#     def __repr__(self):
#     def structure(self):
#     def __repr__(self):
#     def compare(self, other, strict=True):
# class Header(BaseModel):
# class Footer(BaseModel):
# class Message(BaseModel):
#     class Config:
# class ErrorMessage(Message):
# class StructureMessage(Message):
# class DataMessage(Message):
# 
# Path: pandasdmx/model.py
# class Agency(Organisation):
#     pass
# 
# class Annotation(BaseModel):
#     #: Can be used to disambiguate multiple annotations for one AnnotableArtefact.
#     id: Optional[str] = None
#     #: Title, used to identify an annotation.
#     title: Optional[str] = None
#     #: Specifies how the annotation is processed.
#     type: Optional[str] = None
#     #: A link to external descriptive text.
#     url: Optional[str] = None
# 
#     #: Content of the annotation.
#     text: InternationalString = InternationalString()
# 
# class Code(Item["Code"]):
#     """SDMX-IM Code."""
# 
# class Codelist(ItemScheme[Code]):
#     _Item = Code


import pytest
from pandasdmx import message
from pandasdmx.model import Agency, Annotation, Code, Codelist
    cl = Codelist(
        id="CL_COLLECTION",
        version="1.0",
        is_final=False,
        is_external_reference=False,
        maintainer=ECB,
        name={"en": "Collection indicator code list"},
    )

    # Add items
    for info in CL_ITEMS:
        cl.items[info["id"]] = Code(**info)

    # Add a hierarchical relationship
    cl.items["B"].append_child(cl.items["B1"])

    # Add an annotation
    cl.items["A"].annotations.append(
        Annotation(id="A1", type="NOTE", text={"en": "Text annotation on Code A."})
    )

    return cl


# Classes from sdmx.message


@pytest.fixture
def footer():
    """A :class:`.Footer` for writer testing."""

# Path: pandasdmx/message.py
# def _summarize(obj, fields):
#     def __repr__(self):
#     def compare(self, other, strict=True):
#     def compare(self, other, strict=True):
#     def to_pandas(self, *args, **kwargs):
#     def __str__(self):
#     def __repr__(self):
#     def compare(self, other, strict=True):
#     def compare(self, other, strict=True):
#     def add(self, obj: model.IdentifiableArtefact):
#     def get(
#         self, obj_or_id: Union[str, model.IdentifiableArtefact]
#     ) -> Optional[model.IdentifiableArtefact]:
#     def objects(self, cls):
#     def __contains__(self, item):
#     def __repr__(self):
#     def structure(self):
#     def __repr__(self):
#     def compare(self, other, strict=True):
# class Header(BaseModel):
# class Footer(BaseModel):
# class Message(BaseModel):
#     class Config:
# class ErrorMessage(Message):
# class StructureMessage(Message):
# class DataMessage(Message):
# 
# Path: pandasdmx/model.py
# class Agency(Organisation):
#     pass
# 
# class Annotation(BaseModel):
#     #: Can be used to disambiguate multiple annotations for one AnnotableArtefact.
#     id: Optional[str] = None
#     #: Title, used to identify an annotation.
#     title: Optional[str] = None
#     #: Specifies how the annotation is processed.
#     type: Optional[str] = None
#     #: A link to external descriptive text.
#     url: Optional[str] = None
# 
#     #: Content of the annotation.
#     text: InternationalString = InternationalString()
# 
# class Code(Item["Code"]):
#     """SDMX-IM Code."""
# 
# class Codelist(ItemScheme[Code]):
#     _Item = Code


# Path: pandasdmx/tests/writer/conftest.py
import pytest
from pandasdmx import message
from pandasdmx.model import Agency, Annotation, Code, Codelist

    cl = Codelist(
        id="CL_COLLECTION",
        version="1.0",
        is_final=False,
        is_external_reference=False,
        maintainer=ECB,
        name={"en": "Collection indicator code list"},
    )

    # Add items
    for info in CL_ITEMS:
        cl.items[info["id"]] = Code(**info)

    # Add a hierarchical relationship
    cl.items["B"].append_child(cl.items["B1"])

    # Add an annotation
    cl.items["A"].annotations.append(
        Annotation(id="A1", type="NOTE", text={"en": "Text annotation on Code A."})
    )

    return cl


# Classes from sdmx.message


@pytest.fixture
def footer():
    """A :class:`.Footer` for writer testing."""

    return message.Footer(