#include #include "fces/fitness.hpp" 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(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); }