using System;

namespace QuantEngine.Core.Domain
{
    public class AntiChasingResult
    {
        public string AntiChasingVerdict { get; set; } = "CLEAR";
        public string AntiChasingVelocityStatus { get; set; } = "PASS";
        public double Velocity1dInput { get; set; }
    }

    public static class AntiChasingCalculator
    {
        public static AntiChasingResult ComputeAntiChasing(double velocity1d)
        {
            string verdict;
            string status;

            if (velocity1d >= 3.0)
            {
                verdict = "BLOCK_CHASE";
                status = "BLOCKED";
            }
            else if (velocity1d >= 1.5)
            {
                verdict = "PULLBACK_WAIT";
                status = "WAIT";
            }
            else
            {
                verdict = "CLEAR";
                status = "PASS";
            }

            return new AntiChasingResult
            {
                AntiChasingVerdict = verdict,
                AntiChasingVelocityStatus = status,
                Velocity1dInput = Math.Round(velocity1d, 4)
            };
        }
    }
}
