Я сравниваю две UIColor
, инициализированные с использованием новой iOS 13 init(dynamicProvider:)
https://developer.apple.com/documentation/uikit/uicolor/3238041-init
, но это то, что я получаю во время выполнения, когда сравниваю их в модульном тесте сXCTAssertEqual
:
XCTAssertEqual failed: ("Optional(<UIDynamicProviderColor: {...};
provider = <__NSMallocBlock__: {...}>>)") is not equal to
("Optional(<UIDynamicProviderColor: {...}; provider = <__NSMallocBlock__: {...}>>)")
Это пример того, как я создаю цвет:
struct Style {
static var color: UIColor {
if #available(iOS 13.0, *) {
return UIColor { traitCollection in
return traitCollection.userInterfaceStyle == .dark ? .secondarySystemBackground : UIColor.white
}
} else {
return UIColor.white
}
}
}
Код теста:
func testExample() {
XCTAssertEqual(Style.color, Style.color)
}
Я попытался переопределить isEqual
метод UIColor
с расширением, но, видимо, он не называется.
У вас есть обходной путь для этого?