From bc6377f1ab4e3cd7496fecab583a8fd00a310e75 Mon Sep 17 00:00:00 2001 From: r-plus Date: Mon, 10 Jun 2019 12:08:17 +0900 Subject: [PATCH] test: Add test case for #1043 --- Tests/ObjectMapperTests/ImmutableTests.swift | 28 ++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Tests/ObjectMapperTests/ImmutableTests.swift b/Tests/ObjectMapperTests/ImmutableTests.swift index b0d23e3e..9a13661b 100644 --- a/Tests/ObjectMapperTests/ImmutableTests.swift +++ b/Tests/ObjectMapperTests/ImmutableTests.swift @@ -331,6 +331,34 @@ class ImmutableObjectTests: XCTestCase { XCTAssertEqual(object?.immutable?.value, "Hello") } + func testAsPropertyOfOptionalImmutableMappable() { + struct ImmutableObject: ImmutableMappable { + let value: String? + init(map: Map) throws { + self.value = try map.value("value") + } + } + + struct Object: ImmutableMappable { + let immutable: ImmutableObject? + init(map: Map) throws { + self.immutable = try map.value("immutable") + } + } + + let json: [String: Any] = [ + "immutable": [ + "value": "Hello" + ] + ] + do { + let object = try Mapper().map(JSON: json) + XCTAssertEqual(object.immutable?.value, "Hello") + } catch { + XCTFail() + } + } + } struct Struct {