Я пытаюсь реализовать очередь приоритетов в Swift, и она все еще находится на начальной стадии. Сначала я хотел бы написать тесты для структуры данных.Swift: Необязательный тип кортежа в утверждении Assert
В настоящее время у меня есть этот метод, extractMin
, который возвращает первый элемент в очереди приоритетов. Он реализуется следующим образом (T - общий тип значения).
// Remove and return the element with minimum priority.
// If the pq is empty, return nil.
func extractMin() -> (T, Double)? {
return nil // Implementation goes here
}
Я хотел бы написать тесты для этой функции. Первое, что я проверю, это то, что он возвращает nil
, когда pq пуст. И я хочу, чтобы иметь что-то вроде этого:
XCTAssertNil(priorityQueue.extractMin(), "A nil value should be returned when the priority queue is empty");
Однако это предлагающее мне ошибки, что читает «(String, Double) не идентичен AnyObject».
Есть ли способ исправить это? Как мне приступить к написанию тестов для такого рода необязательных типов кортежей?