Exemplo n.º 1
0
        public void Initialize()
        {
            _mockLogger = Substitute.For <ILogger>();
            _mockSpecificationAssemblies = Substitute.For <ISpecificationAssemblyProvider>();
            _resiliencePolicies          = new CalculatorResiliencePolicies
            {
                CalculationsApiClient = Policy.NoOpAsync()
            };
            _mockCalculationsRepository = Substitute.For <ICalculationsRepository>();

            _assemblyService = new AssemblyService(_mockLogger, _mockSpecificationAssemblies, _resiliencePolicies, _mockCalculationsRepository);
        }
        public AssemblyService(
            ILogger logger,
            ISpecificationAssemblyProvider specificationAssemblies,
            ICalculatorResiliencePolicies resiliencePolicies,
            ICalculationsRepository calculationsRepository)
        {
            Guard.ArgumentNotNull(logger, nameof(logger));
            Guard.ArgumentNotNull(specificationAssemblies, nameof(specificationAssemblies));
            Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies));
            Guard.ArgumentNotNull(resiliencePolicies.CalculationsApiClient, nameof(resiliencePolicies.CalculationsApiClient));
            Guard.ArgumentNotNull(calculationsRepository, nameof(calculationsRepository));

            _logger = logger;
            _specificationAssemblies     = specificationAssemblies;
            _calculationsRepository      = calculationsRepository;
            _calculationsApiClientPolicy = resiliencePolicies.CalculationsApiClient;
        }