mirror of
https://github.com/divkit/divkit.git
synced 2026-06-06 20:07:59 +00:00
19 lines
592 B
Swift
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
|
|
}
|
|
}
|