Я пишу некоторые модульные тесты для координатной функции карты, которую я пишу. К сожалению, что-то происходит с XCTest, что я не могу пригнуться, что приводит к сбою моего теста:
NSString *testValue = @"121°31'40\"E";
double returnValue = coordinateStringToDecimal(testValue);
static double expectedValue = 121.5277777777778;
XCTAssertEqual(returnValue, expectedValue, @"Expected %f, got %f", expectedValue, returnValue);
Я прочитал этот аналогичный вопрос для устранения неполадок. Тем не менее, я могу подтвердить, что числа и типы одинаковы. Вот консольный вывод проверки типа каждого значения:
(lldb) print @encode(__typeof__(returnValue))
(const char [2]) $5 = "d"
(lldb) print @encode(__typeof__(expectedValue))
(const char [2]) $6 = "d"
Просмотр переменных в отладчике показывает, что они одинаковы:
Интересным является консольный вывод для сравнения их в lldb:
(lldb) print (returnValue == expectedValue)
(bool) $7 = false
Типы те же, и фактические цифры одинаковы. Почему еще мое утверждение будет терпеть неудачу?