#include "frc971/zeroing/zeroing.h"

#include "frc971/control_loops/control_loops_generated.h"
#include "frc971/control_loops/position_sensor_sim.h"
#include "gtest/gtest.h"

namespace frc971 {
namespace zeroing {
namespace testing {

using control_loops::PositionSensorSimulator;
using FBB = flatbuffers::FlatBufferBuilder;

constexpr size_t kSampleSize = 30;
constexpr double kAcceptableUnzeroedError = 0.2;
constexpr double kIndexErrorFraction = 0.3;
constexpr size_t kMovingBufferSize = 3;

class ZeroingTest : public ::testing::Test {
 protected:
  template <typename T>
  double GetEstimatorPosition(T *estimator) {
    FBB fbb;
    fbb.Finish(estimator->GetEstimatorState(&fbb));
    return flatbuffers::GetRoot<typename T::State>(fbb.GetBufferPointer())
        ->position();
  }
};

}  // namespace testing
}  // namespace zeroing
}  // namespace frc971
