# Path: fastavro/repository/base.py
# class AbstractSchemaRepository(ABC):
#     @abstractmethod
#     def load(self, name):
#         pass
# 
# Path: fastavro/schema.py
# FINGERPRINT_ALGORITHMS = _schema.FINGERPRINT_ALGORITHMS


from os.path import join, abspath, dirname
from fastavro.repository import AbstractSchemaRepository
from fastavro.schema import (
    SchemaParseException,
    UnknownType,
    parse_schema,
    fullname,
    expand_schema,
)
import pytest
import fastavro
            },
            {
                "name": "field2",
                "type": {"type": "fixed", "name": "ThatName", "size": 8},
            },
        ],
    }

    with pytest.raises(SchemaParseException, match="redefined named type: ThatName"):
        parse_schema(schema)


def test_doc_left_in_parse_schema():
    schema = {
        "type": "record",
        "name": "test_doc_left_in_parse_schema",
        "doc": "blah",
        "fields": [{"name": "field1", "type": "string", "default": ""}],
    }
    assert schema == parse_schema(schema, _write_hint=False)


def test_schema_fullname_api():
    schema = {
        "type": "record",
        "namespace": "namespace",
        "name": "test_schema_fullname_api",
        "fields": [],
    }


# Path: fastavro/repository/base.py
# class AbstractSchemaRepository(ABC):
#     @abstractmethod
#     def load(self, name):
#         pass
# 
# Path: fastavro/schema.py
# FINGERPRINT_ALGORITHMS = _schema.FINGERPRINT_ALGORITHMS


# Path: tests/test_schema.py
from os.path import join, abspath, dirname
from fastavro.repository import AbstractSchemaRepository
from fastavro.schema import (
    SchemaParseException,
    UnknownType,
    parse_schema,
    fullname,
    expand_schema,
)
import pytest
import fastavro

            },
            {
                "name": "field2",
                "type": {"type": "fixed", "name": "ThatName", "size": 8},
            },
        ],
    }

    with pytest.raises(SchemaParseException, match="redefined named type: ThatName"):
        parse_schema(schema)


def test_doc_left_in_parse_schema():
    schema = {
        "type": "record",
        "name": "test_doc_left_in_parse_schema",
        "doc": "blah",
        "fields": [{"name": "field1", "type": "string", "default": ""}],
    }
    assert schema == parse_schema(schema, _write_hint=False)


def test_schema_fullname_api():
    schema = {
        "type": "record",
        "namespace": "namespace",
        "name": "test_schema_fullname_api",
        "fields": [],
    }


    assert fullname(schema) == "namespace.test_schema_fullname_api"