# Path: tests/fixtures/jewel.py
# class Jewel(object):
#     def __init__(self, name, carat):
#         self.name = name
#         self.carat = carat
# 
# Path: tests/fixtures/painting.py
# class Painting(object):
#     def __init__(self, name, author):
#         self.name = name
#         self.author = author
# 
# Path: tests/fixtures/money.py
# class Money(object):
#     def __init__(self, currency, amount):
#         self.currency = name
#         self.amount = carat


import pytest
from lupin import Mapper, fields as f
from lupin.errors import InvalidType, InvalidDocument, MissingPolymorphicKey,\
    InvalidPolymorphicType, MissingMapping
from tests.fixtures import Jewel, Painting, Money



@pytest.fixture
def mapper():
    return Mapper()


@pytest.fixture
def field(mapper, jewel_schema, painting_schema, money_schema):

# Path: tests/fixtures/jewel.py
# class Jewel(object):
#     def __init__(self, name, carat):
#         self.name = name
#         self.carat = carat
# 
# Path: tests/fixtures/painting.py
# class Painting(object):
#     def __init__(self, name, author):
#         self.name = name
#         self.author = author
# 
# Path: tests/fixtures/money.py
# class Money(object):
#     def __init__(self, currency, amount):
#         self.currency = name
#         self.amount = carat


# Path: tests/lupin/fields/test_polymorphic_object.py
import pytest
from lupin import Mapper, fields as f
from lupin.errors import InvalidType, InvalidDocument, MissingPolymorphicKey,\
    InvalidPolymorphicType, MissingMapping
from tests.fixtures import Jewel, Painting, Money




@pytest.fixture
def mapper():
    return Mapper()


@pytest.fixture
def field(mapper, jewel_schema, painting_schema, money_schema):

    mapper.register(Jewel, jewel_schema)