#include "common.hpp"
#include "RTC/TrendCalculator.hpp"
#include <catch2/catch.hpp>
using namespace RTC;
SCENARIO("TrendCalculator", "[rtc]")
{
SECTION("trend values after same elapsed time match")
{
TrendCalculator trendA;
TrendCalculator trendB;
trendA.Update(1000u, 0u);
trendB.Update(1000u, 0u);
REQUIRE(trendA.GetValue() == 1000u);
REQUIRE(trendB.GetValue() == 1000u);
trendA.Update(200u, 500u);
trendA.Update(200u, 1000u);
trendB.Update(200u, 1000u);
REQUIRE(trendA.GetValue() == trendB.GetValue());
trendA.Update(200u, 2000u);
trendA.Update(200u, 4000u);
trendB.Update(200u, 4000u);
REQUIRE(trendA.GetValue() == trendB.GetValue());
trendA.Update(2000u, 5000u);
trendB.Update(2000u, 5000u);
REQUIRE(trendA.GetValue() == 2000u);
REQUIRE(trendB.GetValue() == 2000u);
trendA.ForceUpdate(0u, 5500u);
trendB.ForceUpdate(100u, 5000u);
REQUIRE(trendA.GetValue() == 0u);
REQUIRE(trendB.GetValue() == 100u);
}
}