Files
FCES-native/tests/test_fitness.cpp
2026-05-20 00:18:23 +02:00

35 lines
813 B
C++

#include "fces/fitness.hpp"
#include <gtest/gtest.h>
using namespace fces;
TEST(RunningStatsTest, BasicUpdate) {
RunningStats stats;
stats.update(1.0f);
stats.update(2.0f);
stats.update(3.0f);
EXPECT_NEAR(stats.get_mean(), 2.0f, 1e-5f);
EXPECT_GT(stats.get_std(), 0.0f);
}
TEST(RunningStatsTest, ZScore) {
RunningStats stats;
for (int i = 0; i < 100; ++i)
stats.update(static_cast<float>(i));
float z = stats.z_score(50.0f);
EXPECT_NEAR(z, 0.0f, 0.1f);
}
TEST(FitnessEngineTest, LossSignal) {
FitnessEngine engine;
float sig = engine.calculate_loss_signal(1.0f, 2.0f, "relative");
EXPECT_LT(sig, 0.0f); // Improving
}
TEST(FitnessEngineTest, KZMDamping) {
FitnessEngine engine(0.1f);
float d = engine.compute_kzm_damping(5.0f);
EXPECT_GT(d, 0.0f);
EXPECT_LT(d, 1.0f);
}