Как сравнить два UIDynamicProviderColor? - PullRequest
0 голосов
/ 23 сентября 2019

Я сравниваю две 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 с расширением, но, видимо, он не называется.

У вас есть обходной путь для этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...