Пример #1
0
        public async Task OneTimeSetUp()
        {
            _eventIdProvider = new InMemoryEventIdProvider();
            _serializer      = new JsonNetSerializer();
            _eventSerializer = new EventSerializer(_serializer);
            _eventCache      = new InMemoryEventCache(_eventIdProvider, _eventSerializer);

            var brokerConfiguration = new BrokerageServiceConfiguration()
            {
                HeartbeatEndpoint       = HeartbeatEndpoint,
                StateOfTheWorldEndpoint = StateOfTheWorldEndpoint,
                ToSubscribersEndpoint   = ToSubscribersEndpoint,
                ToPublisherEndpoint     = ToPublishersEndpoint
            };

            _broker = new BrokerageService(brokerConfiguration, LoggerForTests <BrokerageService> .Default(), _eventCache, _serializer);

            await _broker.Run();

            JsonConvert.DefaultSettings = () =>
            {
                var settings = new JsonSerializerSettings
                {
                    Formatting       = Formatting.Indented,
                    TypeNameHandling = TypeNameHandling.Objects,
                    ContractResolver = new CamelCasePropertyNamesContractResolver()
                };

                return(settings);
            };

            await Task.Delay(1000);
        }
        public IActor GetBrokerageService(IBrokerageServiceConfiguration configuration)
        {
            var router = new BrokerageService(configuration, LoggerForTests <BrokerageService> .Default(), _eventCache, _serializer);

            _actors.Add(router);

            return(router);
        }
Пример #3
0
        public void RegisterNullBroker_ThrowsArgumentNullException()
        {
            //arrange
            var service = new BrokerageService();

            //act
            //assert
            service.RegisterBroker(null);
        }
Пример #4
0
        public void RegisterThirdBroker_ThrowsApplicationException()
        {
            //arrange
            var service = new BrokerageService();

            //act
            //assert
            service.RegisterBroker(new DigiCoinBroker(1m, 1m));
            service.RegisterBroker(new DigiCoinBroker(1m, 1m));
            service.RegisterBroker(new DigiCoinBroker(1m, 1m));
        }
Пример #5
0
        public void PlaceOrder_CallTakeOrder_AtLeast1OnBothBroker()
        {
            //arrange
            var service = new BrokerageService();

            var broker1Mock = new Mock <IBroker>();
            var broker2Mock = new Mock <IBroker>();

            broker1Mock.Setup(b => b.GetQuoteForTransaction(It.IsAny <int>())).Returns(10);
            broker2Mock.Setup(b => b.GetQuoteForTransaction(It.IsAny <int>())).Returns(20);

            service.RegisterBroker(broker1Mock.Object);
            service.RegisterBroker(broker2Mock.Object);

            //act
            service.PlaceOrder(10);
            //assert;
            broker1Mock.Verify(b => b.TakeOrder(It.IsAny <int>()), Times.AtLeast(1));
            broker2Mock.Verify(b => b.TakeOrder(It.IsAny <int>()), Times.AtLeast(1));
        }
Пример #6
0
 public Position(BrokerageService brokerageService)
 {
     _brokerageService = brokerageService;
 }