Используя Google Test Framework, я использую функцию EXPECT_NEAR, чтобы определить, выводит ли тест допустимое значение.
(3) значения или параметры, которые приводят к сбою моего теста, фактически находятся в пределах допуска 1,0%% 0,1% теста.
Я просто попытался вручную вычислить допуск, чтобы увидеть, выпал ли параметр за пределы лимита.Они оказываются внутри, где даже Google Test Framework признает это, где он все еще отмечает неудачный тест.
EXPECT_FALSE(test_errors);
if (!test_errors)
{
ssc_number_t annual_energy;
ssc_data_get_number(data, "annual_energy", &annual_energy);
EXPECT_NEAR(annual_energy, -1.83517e7, -1.83517e7 *
m_error_tolerance_lo) << "Annual Energy"; // choose either
m_error_tolerance_lo or m_error_tolerance_hi
- Выше здесь показаны (1) из (3) параметров, которые вызывают сбой теста.
класс CMTcsMoltenSalt: public :: testing :: Test {
public:
ssc_data_t data;
ssc_number_t calculated_value;
ssc_number_t * calculated_array;
double m_error_tolerance_hi = 0.01; // 1.0%
double m_error_tolerance_lo = 0.001; // 0.1%
void SetUp()
{
data = ssc_data_create();
tcsmolten_salt_default(data);
calculated_array = new ssc_number_t[8760];
}
void TearDown() {...
* Среда тестирования, объявляющая допуск теста, где выходные данные находятся в допустимом диапазоне.
Я ожидал бы, что тест пройден, но что-то вызывает повышение флага, где выходные значения по какой-то причине недопустимы.
Ниже я скопировал флагиподнят в тестовом проводнике.Они должны пройти, поскольку они находятся в пределах допуска математически.Несмотря на это, Google Test Framework говорит, как они вызывают ошибку.: Сообщение: S_decode ==> Пожалуйста, исправьте год: 0 [1950-2050] S_decode ==> Пожалуйста, исправьте день года: 0
1 - Разница между year_energy и -1.83517e7 составляет 1.5710115097463131, что превышает -1,83517e7 * m_error_tolerance_lo, где
year_energy оценивается в -18351701.57101151, -1.83517e7 оценивается в -18351700, а -1,83517e7 * m_error_tolerance_lo оценивается в -18351.700000000001.Годовая энергия
2 - Разница между Capacity_factor и -2,0241 составляет 3,3119740638909434e-07, что превышает -2,0241 * m_error_tolerance_lo, где
Capacity_factor оценивается в -2.0240996688025934, -2,0241 оценивается в -2.02989999и -2.0241 * m_error_tolerance_lo оценивается как -0.0020241.Коэффициент пропускной способности
3 - Разница между kwh_per_kw и -177,311 составляет 0,00013098710715553352, что превышает -177,311 * m_error_tolerance_lo, где
kwh_per_kw оценивается в -177,31113098710716, -177,31100 и -177,31100, -177,31100 и -177,31100, -177,31100 и -177,31100, -177,31100 и -177,31100, -177,31100, -177,31100, -177,31100, -177,31100, -177,31100, -177,31100, -177,31100, -177,31100, -177,31100, -177,31100, -177,31100, -177,31100, -177,31100, -177.31100, -177.31100, -177.31100, -177.31100, -177.31100, -177.31100, -177.31100, -177.31100, -177.31100, -177.31100;* m_error_tolerance_lo оценивается как -0,17731100000000002.кВт / ч