значение функции у меня равно ожидаемому
Я считаю в тесте периметр и он равен 3.41421 и когда я пишу triangle.getPerimeter() == 3.41421 , то тест не проходит. Я +- понимаю, что начиная условно с 6 знака после запятой значения расходятся, но как это исправить? Пока что придумал вот так ASSERT_TRUE((abs(triangle.getPerimeter()) - 3.41421) < 0.00001); но выглядит неочень
https://stackoverflow.com/questions/15128510/error-with-expect-eq-for-sum-of-double-or-float
Потому что число с плавающей запятой нельзя сравнивать напрямую, а надо через разность с эпсилоном. Ты, в принципе, к этому и пришел сам, молодец.
ASSERT_FLOAT_EQ
я так пробовал, мне выдает ошибку Use of undeclared identifier 'ASSERT_FLOAT_EQ'
А зачем кросспостить? Ты уже задал вопрос в другом чате.
Обсуждают сегодня