   }
 }
 
-DictionaryTestSuite.test("noLeaks") {
+DictionaryTestSuite.setUp {
+  keyCount = 0
+  valueCount = 0
+  TestObjCKeyTy.objectCount = 0
+  TestObjCValueTy.objectCount = 0
+}
+
+DictionaryTestSuite.tearDown {
   expectEqual(0, keyCount) { "key leak" }
   expectEqual(0, valueCount) { "value leak" }
 
-  // FIXME: We should not be leaking
-  // <rdar://problem/17944094> Dictionary.swift leaks again
-  //expectEqual(0, TestObjCKeyTy.objectCount) { "key leak" }
-  //expectEqual(0, TestObjCValueTy.objectCount) { "value leak" }
+  expectEqual(0, TestObjCKeyTy.objectCount) { "key leak" }
+  expectEqual(0, TestObjCValueTy.objectCount) { "value leak" }
 }
 
 runAllTests()


  pairs = slurpFastEnumerationFromObjC(d, d)
  assert(equalsUnordered(pairs, [ (10, 1010), (20, 1020), (30, 1030) ]))
}

DictionaryTestSuite.test("BridgedToObjC.FastEnumeration_Empty") {


  var pairs = slurpFastEnumeration(d, d)
  assert(equalsUnordered(pairs, [ (10, 1010), (20, 1020), (30, 1030) ]))

  // FIXME: We should not be leaking
  // <rdar://problem/17944094> Dictionary.swift leaks again
  expectNotEqual(0, TestObjCKeyTy.objectCount)
  TestObjCKeyTy.objectCount = 0
}

//===---
