Files
pkurchatov 3670a7c879 Applied swiftormat
d22237ac3335f62b16f37a172b1eb42a7558a5b5
2024-04-23 18:37:14 +03:00

19 lines
592 B
Swift

import XCTest
extension XCTestCase {
static func makeSuite<TestData>(
input: [(name: String, data: TestData)],
test: @escaping (TestData) -> Void
) -> XCTestSuite {
let suite = XCTestSuite(forTestCaseClass: self)
for (name, data) in input {
let block: @convention(block) (XCTestCase) -> Void = { _ in test(data) }
let implementation = imp_implementationWithBlock(block)
let selector = NSSelectorFromString(name)
class_addMethod(self, selector, implementation, "v@:")
suite.addTest(self.init(selector: selector))
}
return suite
}
}