c# правильно создать экземпляр списка enum в интерфейсе - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь написать тест xunit, который создаст экземпляр CalculateDistanceService, чтобы я мог вызывать его без использования макета, и мне трудно его написать. Я не знаю, как правильно создать экземпляр _operators, чтобы вернуть значения перечисления. Проблема, с которой я сталкиваюсь, когда не могу создать класс CalculateDistance для заполнения перечислений для теста. Когда я вызываю класс, значения перечисления пусты, и я не уверен, как это сделать правильно.

    public CalculateDistanceService()
    {
       _operators = operators;
    }

    public interface ICalculateDistance<out T> where T: Enum
    {
        T DistanceMethod { get; }
        DistanceResponse CalculateDistance(DistancePoint point1, DistancePoint point2, MeasureUnit measureUnit);
    }

    public enum DistanceMethod
    {
        GeodesicCurve,
        Pythagoras
    }

Что я пытался сделать в модульном тесте

    public DistanceControllerTest()
    {
       _operators = new List<ICalculateDistance<DistanceMethod>>();
    }

     [Fact]
    public void DistanceController_CorrectValue()
    {
        var p1 = new DistancePoint
        {
            Latitude = 55.39291815,
            Longitude = -7.389611015997305
        };

        var p2 = new DistancePoint
        {
            Latitude = 53.3729581,
            Longitude = -6.3624744
        };

   List<ICalculateDistance<DistanceMethod>> _operators = new 
   List<ICalculateDistance<DistanceMethod>>();
            _operators.Add(Cant do this)

        var calculateDistance = new CalculateDistanceService(_operators) 


    }

    I am using this blog as reference aswell:
    https://adamstorr.azurewebsites.net/blog/strategy-pattern-with-enum-constraints
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...