   }
 #endif
 }
-

    name: "DictionaryKeysContainsNative",
    runFunction: run_DictionaryKeysContains,
    tags: [.validation, .api, .Dictionary],
    setUpFunction: setup_DictionaryKeysContainsNative,
    tearDownFunction: teardown_DictionaryKeysContains),
  BenchmarkInfo(
    name: "DictionaryKeysContainsCocoa",
    runFunction: run_DictionaryKeysContains,
    tags: [.validation, .api, .Dictionary],
    setUpFunction: setup_DictionaryKeysContainsCocoa,
    tearDownFunction: teardown_DictionaryKeysContains),
]
#else
public let DictionaryKeysContains = [

    name: "DictionaryKeysContainsNative",
    runFunction: run_DictionaryKeysContains,
    tags: [.validation, .api, .Dictionary],
    setUpFunction: setupNativeDictionary,
    tearDownFunction: teardownDictionary,
    unsupportedPlatforms: [.linux]),
]
#endif

private var dictionary: [NSString: NSString]!

private func setupNativeDictionary() {
#if os(Linux)
  fatalError("Unsupported benchmark")
#else
  let keyValuePair: (Int) -> (NSString, NSString) = {
    let n = "\($0)" as NSString; return (n, n)
  }
  dictionary = [NSString: NSString](uniqueKeysWithValues:
    (1...10_000).lazy.map(keyValuePair))
#endif
}

#if _runtime(_ObjC)
private func setupBridgedDictionary() {
  setupNativeDictionary()
  dictionary = (NSDictionary(dictionary: dictionary) as! [NSString: NSString])
}
#endif

private func teardownDictionary() {
  dictionary = nil
}

