Я тестирую ряд функций в Swift.
Мне нужно сравнить сложный тип кортежа (и это должно быть в одном XCTAssertEqual
выражении, а не сравнивать все составляющие типы кортежа.
Для простоты я пытаюсь сравнить мой известный ответ с самим собой в этом минимальном примере:
let answer: (question: [String], correctAnswerIndex: [String], givenAnswers: [String], givenAnswerIndex: [String]) = (question:[], correctAnswerIndex: ["0"], givenAnswers: ["0"], givenAnswerIndex: ["0"])
XCTAssertEqual(answer,answer)
Как и следовало ожидать, это приводит к ошибке, что типы типов не являются уравняемыми
Глобальная функция 'XCTAssertEqual (: : _: file: line :)' требует, чтобы
'(вопрос: [String], правильныйAnswerIndex: [String], данный ответ:
[String], учитываяAnswerIndex: [String]) 'соответствует' Equatable '
Поэтому я бы хотел, чтобы отдельное расширение в тестировании сделало их уравновешенными, самый близкий ответ, который я вижу, связан с общими параметрами, и я действительно хочу сделать это как можно более простым ...