# Path: transmute_core/compat.py
# def getfullargspec(func):
# 
# Path: transmute_core/exceptions.py
# class SerializationException(APIException):
#     """
#     this exceptions signifies an exception with
#     serializing values.
#     """


import pytest
from transmute_core.compat import string_type
from transmute_core.exceptions import SerializationException
from datetime import datetime
    """test all unhappy cases for the integer serializer"""
    with pytest.raises(SerializationException):
        object_serializer_set.load(float, unhappy_input)


@pytest.mark.parametrize(
    "inp, expected_output",
    [("true", True), ("false", False), (True, True), (False, False)],
)
def test_bool_load_happy(object_serializer_set, inp, expected_output):
    assert object_serializer_set.load(bool, inp) is expected_output


@pytest.mark.parametrize("inp, expected_output", [("foo", "foo")])
def test_string_load_happy(object_serializer_set, inp, expected_output):
    assert object_serializer_set.load(string_type, inp) == expected_output


@pytest.mark.parametrize("inp, expected_output", [(NOW.isoformat(), NOW)])
def test_datetime_load_happy(object_serializer_set, inp, expected_output):
    assert object_serializer_set.load(datetime, inp) == expected_output


@pytest.mark.parametrize("inp, expected_output", [(NOW, NOW.isoformat())])
def test_datetime_dump_unhappy(object_serializer_set, inp, expected_output):
    assert object_serializer_set.dump(datetime, inp) == expected_output


@pytest.mark.parametrize("inp", [("")])
def test_datetime_load_unhappy(object_serializer_set, inp):

# Path: transmute_core/compat.py
# def getfullargspec(func):
# 
# Path: transmute_core/exceptions.py
# class SerializationException(APIException):
#     """
#     this exceptions signifies an exception with
#     serializing values.
#     """


# Path: transmute_core/tests/test_basetype_serializer.py
import pytest
from transmute_core.compat import string_type
from transmute_core.exceptions import SerializationException
from datetime import datetime

    """test all unhappy cases for the integer serializer"""
    with pytest.raises(SerializationException):
        object_serializer_set.load(float, unhappy_input)


@pytest.mark.parametrize(
    "inp, expected_output",
    [("true", True), ("false", False), (True, True), (False, False)],
)
def test_bool_load_happy(object_serializer_set, inp, expected_output):
    assert object_serializer_set.load(bool, inp) is expected_output


@pytest.mark.parametrize("inp, expected_output", [("foo", "foo")])
def test_string_load_happy(object_serializer_set, inp, expected_output):
    assert object_serializer_set.load(string_type, inp) == expected_output


@pytest.mark.parametrize("inp, expected_output", [(NOW.isoformat(), NOW)])
def test_datetime_load_happy(object_serializer_set, inp, expected_output):
    assert object_serializer_set.load(datetime, inp) == expected_output


@pytest.mark.parametrize("inp, expected_output", [(NOW, NOW.isoformat())])
def test_datetime_dump_unhappy(object_serializer_set, inp, expected_output):
    assert object_serializer_set.dump(datetime, inp) == expected_output


@pytest.mark.parametrize("inp", [("")])
def test_datetime_load_unhappy(object_serializer_set, inp):

    with pytest.raises(SerializationException):