 		}
 	}
 
+	func assertIsMapValue(_ value: String?, file: StaticString = #file, line: UInt = #line) {
+		XCTAssertEqual(value, self.mapValue, "The value should be the map value.", file: file, line: line)
+	}
+
+	func assertIsMapError(_ error: Error?, file: StaticString = #file, line: UInt = #line) {
+		if let error = error as? TestError, error == self.mapError {} else {
+			XCTFail("The error should be the map error.", file: file, line: line)
+		}
+	}
+
 	func assertIsSuccessWithSetupValue(_ result: Result<Int>, file: StaticString = #file, line: UInt = #line) {
 		if case .success(let value) = result {
 			assertIsSetupValue(value, file: file, line: line)

			XCTFail("The result should be a `failure`.", file: file, line: line)
		}
	}
}

	private var error: TestError = .init(code: 42)
	private lazy var successResult: Result<Int> = .success(self.value)
	private lazy var failureResult: Result<Int> = .failure(self.error)
	private var mapValue: String = "1"
	private var mapError: TestError = .init(code: 88)
	
	// MARK: Unit tests

