 		let person = try? Mapper<ImmutablePerson>(context: context).map(JSON: JSON)
 		
 		XCTAssertNotNil(person)
-		XCTAssertTrue(person!.isDeveloper)
+		
+		XCTAssertEqual(person?.isDeveloper ?? !context.isDeveloper, context.isDeveloper)
 	}
 	
 	func testImmatableMappingWithContextViaMappableExtension() {

		XCTAssertNil(person?.name)
	}
	
	// MARK: Array
	func testArrayMappingWithContext() {
		let JSON = ["persons": [["name": "Tristan"], ["name": "Anton"]]]

		}
	}
	
	// MARK: Nested
	func testNestedImmutableMappingWithContext() {
		let JSON = ["person": ["name": "Anton"]]
		let context = ImmutableContext(isDeveloper: true)
		
		let nestedPerson = try? Mapper<ImmutableNestedPerson>(context: context).map(JSON: JSON)
		
		XCTAssertNotNil(nestedPerson)
		XCTAssertEqual(nestedPerson?.person.isDeveloper ?? !context.isDeveloper, context.isDeveloper)
	}
	
	func testNestedImmutableMappingWithContextViaMappableExtension() {
		let JSON = ["person": ["name": "Anton"]]
		let context = ImmutableContext(isDeveloper: true)
		
		let nestedPerson = try? ImmutableNestedPerson(JSON: JSON, context: context)
		
		XCTAssertNotNil(nestedPerson)
		XCTAssertEqual(nestedPerson?.person.isDeveloper ?? !context.isDeveloper, context.isDeveloper)
	}
	
	func testNestedImmutableMappingWithoutContext() {
		let JSON = ["person": ["name": "Anton"]]
		
		do {
			let _ = try Mapper<ImmutableNestedPerson>().map(JSON: JSON)
		} catch ImmutablePersonMappingError.contextAbsense {
			return
		} catch {
			XCTFail()
		}
		
		XCTFail()
	}
	
	// MARK: Array
	func testArrayImmutableMappingWithContext() {
		let JSON = ["persons": [["name": "Tristan"], ["name": "Anton"]]]
