def test_unstructure__datetime(): result = unstructure( datetime.datetime(2018, 2, 1, 2, 2, 2, tzinfo=datetime.timezone.utc)) assert result == "2018-02-01T02:02:02+00:00" result = unstructure(datetime.datetime(2018, 2, 1, 2, 2, 2)) assert result == "2018-02-01T02:02:02"
def test_unstructure__invite_with_a_guest(): value_type = Invite(email="*****@*****.**", guests=[Guest(first_name="Bobby Jim")]) expected = { "email": "*****@*****.**", "guests": [{ "first_name": "Bobby Jim" }], } assert unstructure(value_type) == expected
def test_unstructure__date(): assert unstructure(datetime.date(2018, 8, 28)) == "2018-08-28"
def test_unstructure__decimal(): assert unstructure(decimal.Decimal("1.0")) == "1.0"
def test_unstructure__float(): assert unstructure(1.0) == 1.0
def test_unstructure__invite_with_no_guests(): value_type = Invite(email="*****@*****.**", guests=[]) expected = {"email": "*****@*****.**", "guests": []} assert unstructure(value_type) == expected
def test_unstructure__guest_without_first_name(): expected = {"first_name": None} assert unstructure(SlottedGuest(first_name=None)) == expected
def test_unstructure__uuid(): expected = "d1337d56-4e6a-4cf7-8f7a-730bf4ea3fac" assert unstructure(uuid.UUID(expected)) == expected
def unstructure_assorted_simple_types(): unstructure(decimal.Decimal(1.0)) unstructure(datetime.datetime(2018, 2, 1, 2, 2, 2)) unstructure(datetime.date(2018, 8, 28))
def unstructure_assorted_primatives(): unstructure("Potato") unstructure(1) unstructure(1.0) unstructure(True)
def test_unstructure__animal(): assert unstructure(Animal.ANT) == "ANT"
def test_unstructure__sounds(): assert unstructure(Sounds.CAT) == "CAT"
def test_unstructure__set(): assert unstructure(set([])) == set([]) assert unstructure(set(["x"])) == set(["x"]) assert unstructure(set([1])) == set([1]) assert unstructure(set([2, "y"])) == set([2, "y"])
def test_unstructure__str(): assert unstructure("Potato") == "Potato"
def unstructure_enums(): unstructure(AnimalEnum.ANT) unstructure(SoundsEnum.CAT)
def test_unstructure__bool(): assert unstructure(True) is True assert unstructure(False) is False
def unstructure_dataclass(): unstructure(DataClassGuest(first_name="Bobby Jim"))
def test_unstructure__list(): assert unstructure([]) == [] assert unstructure(["x"]) == ["x"] assert unstructure([1]) == [1] assert unstructure([2, "y"]) == [2, "y"]
def test_unstructure__int(): assert unstructure(1) == 1
def test_unstructure__guest_with_first_name(): expected = {"first_name": "Bobby Jim"} assert unstructure(SlottedGuest(first_name="Bobby Jim")) == expected
def test_unstructure__tuple(): assert unstructure(tuple([])) == tuple([]) assert unstructure(tuple(["x"])) == tuple(["x"]) assert unstructure(tuple([1])) == tuple([1])