示例#1
0
 public static void insertMagazaCiro(List <string> productList, List <int> adetList, List <float> priceList, int userId)
 {
     for (int i = 0; i < productList.Count; i++)
     {
         MarketController.inserMagazaCiro(productList[i], adetList[i], priceList[i], userId);
     }
 }
 // Start is called before the first frame update
 void Start()
 {
     if (market == null)
     {
         market = GameObject.Find("GameController").GetComponent <MarketController>();
     }
 }
        private void CantCalculateMarketProfitAndPayoutWithoutMarket()
        {
            var marketOutcome = MarketController.GetMarketCurrentOutcome(null);
            var success       = marketOutcome == null;

            Assert.True(success);
        }
        public void GetRatesTest_ChecksTheRatesForAllCurrencyPairsSubmittingDepthLevels_ChecksTheRatesReturnedToVerify()
        {
            MarketController marketController = (MarketController)_applicationContext["MarketController"];
            BBOMemoryImage   bboMemoryImage   = (BBOMemoryImage)_applicationContext["BBOMemoryImage"];

            DepthLevel xbtUsdBidLevel = new DepthLevel(new Price(491));
            DepthLevel ltcUsdBidLevel = new DepthLevel(new Price(492));
            DepthLevel btcUsdBidLevel = new DepthLevel(new Price(493));

            DepthLevel xbtUsdAskLevel = new DepthLevel(new Price(494));
            DepthLevel ltcUsdAskLevel = new DepthLevel(new Price(495));
            DepthLevel btcUsdAskLevel = new DepthLevel(new Price(496));

            bboMemoryImage.OnBBOArrived("XBT/USD", xbtUsdBidLevel, xbtUsdAskLevel);
            bboMemoryImage.OnBBOArrived("LTC/USD", ltcUsdBidLevel, ltcUsdAskLevel);
            bboMemoryImage.OnBBOArrived("BTC/USD", btcUsdBidLevel, btcUsdAskLevel);
            IHttpActionResult httpActionResult = marketController.GetAllRates();

            OkNegotiatedContentResult <RatesList> returnedOkRate = (OkNegotiatedContentResult <RatesList>)httpActionResult;
            RatesList ratesList = returnedOkRate.Content;

            Assert.AreEqual("XBT/USD", ratesList.ToList()[0].CurrencyPair);
            Assert.AreEqual(492.5, ratesList.ToList()[0].RateValue); // MidPoint of xbtUsdBidLevel = 491 & xbtUsdAskLevel = 494
            Assert.AreEqual("LTC/USD", ratesList.ToList()[1].CurrencyPair);
            Assert.AreEqual(493.5, ratesList.ToList()[1].RateValue); // MidPoint of ltcUsdBidLevel = 492 & ltcUsdAskLevel = 495
            Assert.AreEqual("BTC/USD", ratesList.ToList()[2].CurrencyPair);
            Assert.AreEqual(494.5, ratesList.ToList()[2].RateValue); // MidPoint of btcUsdBidLevel = 493 & btcUsdAskLevel = 496
        }
示例#5
0
        public MarketControllerTests()
        {
            var eventRepo  = new EventRepository();
            var marketRepo = new MarketRepository();
            var betRepo    = new BetRepository();

            this.MarketController = new MarketController(new MarketService(marketRepo, new BetService(betRepo, eventRepo, marketRepo)));
        }
        public MarketControllerTest()
        {
            var host = WebHost.CreateDefaultBuilder()
                       .UseStartup <Startup>()
                       .Build();

            mockMarketRepository = new Moq.Mock <IMarket>();
            mockMarketontroller  = new MarketController(mockMarketRepository.Object);
        }
        public void GetOrderBookTest_ChecksIfOrderBookIsRetreivedProperly_ValidatesReturnedOrderBook()
        {
            // Get the context
            // IApplicationContext applicationContext = ContextRegistry.GetContext();

            // Get the instance through Spring configuration
            MarketController marketController = (MarketController)_applicationContext["MarketController"];
            LimitOrderBook   limitOrderBook   = new LimitOrderBook("XBTUSD");

            Order buyOrder1 = OrderFactory.CreateOrder("1233", "XBTUSD", Constants.ORDER_TYPE_LIMIT,
                                                       Constants.ORDER_SIDE_BUY, 150, 481.34M, new StubbedOrderIdGenerator());
            Order buyOrder2 = OrderFactory.CreateOrder("1234", "XBTUSD", Constants.ORDER_TYPE_LIMIT,
                                                       Constants.ORDER_SIDE_BUY, 50, 482.34M, new StubbedOrderIdGenerator());
            Order buyOrder3 = OrderFactory.CreateOrder("1222", "XBTUSD", Constants.ORDER_TYPE_LIMIT,
                                                       Constants.ORDER_SIDE_BUY, 50, 483.34M, new StubbedOrderIdGenerator());
            Order sellOrder1 = OrderFactory.CreateOrder("1233", "XBTUSD", Constants.ORDER_TYPE_LIMIT,
                                                        Constants.ORDER_SIDE_SELL, 150, 491.34M, new StubbedOrderIdGenerator());
            Order sellOrder2 = OrderFactory.CreateOrder("1234", "XBTUSD", Constants.ORDER_TYPE_LIMIT,
                                                        Constants.ORDER_SIDE_SELL, 50, 492.34M, new StubbedOrderIdGenerator());
            Order sellrder3 = OrderFactory.CreateOrder("1222", "XBTUSD", Constants.ORDER_TYPE_LIMIT,
                                                       Constants.ORDER_SIDE_SELL, 50, 493.34M, new StubbedOrderIdGenerator());

            limitOrderBook.PlaceOrder(buyOrder1);
            limitOrderBook.PlaceOrder(buyOrder2);
            limitOrderBook.PlaceOrder(buyOrder3);
            limitOrderBook.PlaceOrder(sellOrder1);
            limitOrderBook.PlaceOrder(sellOrder2);
            limitOrderBook.PlaceOrder(sellrder3);

            OrderBookMemoryImage orderBookMemoryImage = (OrderBookMemoryImage)_applicationContext["OrderBookMemoryImage"];

            orderBookMemoryImage.OnOrderBookChanged(limitOrderBook);
            IHttpActionResult httpActionResult = marketController.GetOrderBook("XBTUSD");

            OkNegotiatedContentResult <object> okResponseMessage =
                (OkNegotiatedContentResult <object>)httpActionResult;
            OrderBookRepresentation representation = okResponseMessage.Content as OrderBookRepresentation;

            Assert.IsNotNull(okResponseMessage);
            Assert.IsNotNull(representation);
            // Check the Currency Pair for Bid Book
            Assert.AreEqual("XBTUSD", representation.Bids.CurrencyPair);
            // Check the Currency Pair for Ask Book
            Assert.AreEqual("XBTUSD", representation.Asks.CurrencyPair);

            // Count of the number of Bids in the Bid Order Book
            Assert.AreEqual(3, representation.Bids.Count());
            // Count of the number of Asks in the Ask Order Book
            Assert.AreEqual(3, representation.Asks.Count());

            Assert.AreEqual(50, representation.Bids.ToList()[0].Volume);     // Highest Bid Volumein Bid Order Book
            Assert.AreEqual(483.34M, representation.Bids.ToList()[0].Price); // Highest Bid Price in Bid Order Book

            Assert.AreEqual(150, representation.Asks.ToList()[0].Volume);    // Highest Ask Volumein Ask Order Book
            Assert.AreEqual(491.34M, representation.Asks.ToList()[0].Price); // Highest Ask Price in Ask Order Book
        }
示例#8
0
        public void FeedComboBoxCurrency(string baseCurrency)
        {
            var mc = new MarketController();
            IList <CurrencyPair> cps = (mc.GetMarket(baseCurrency).ToArray());

            cbCurrencyAchat.Items.Clear();
            cbCurrencyVente.Items.Clear();
            cbCurrencyAchat.Items.AddRange(cps.ToArray());
            cbCurrencyVente.Items.AddRange(cps.ToArray());
        }
示例#9
0
 public void getMarketInformation(int id)
 {
     marketData      = new MarketController(id);
     marketId        = marketData.getMarketId();
     marketAd        = marketData.getMarketAd();
     marketTelefon   = marketData.getMarketTelefon();
     marketCiroList  = marketData.getMarketCiroList();
     marketNetKazanc = marketData.getMarketNetKazanc();
     marketId2       = marketId;
 }
示例#10
0
    private void NewGame()
    {
        MarketController mc = new MarketController();

        mc.LoadCommodityShopInventories();

        NPCController nc = new NPCController();

        nc.LoadNewMerchants();
    }
示例#11
0
        private void CantCalculateMarketProfitAndPayoutWithoutBets()
        {
            var newMarket = Common.CreateAndSaveMockMarket(Guid.NewGuid().ToString(), "Market 1",
                                                           0.5m, MarketController);
            var marketOutcome = MarketController.GetMarketCurrentOutcome(newMarket.Id);
            var success       = marketOutcome != null && marketOutcome.MarketLoseProfitAmount == 0 &&
                                marketOutcome.MarketWinPayoutAmount == 0;

            Assert.True(success);
        }
示例#12
0
        private void button1_Click(object sender, EventArgs e)
        {
            var marketController = new MarketController(BaseUrl, Account, Password);

            isOn = !isOn;

            marketController.TurnMarket(isOn);

            button1.Text = isOn ? "На профилактику" : "Включит магазин";
        }
示例#13
0
    // Start is called before the first frame update
    void Start()
    {
        st = GameObject.FindGameObjectWithTag("stats").GetComponent <gStats>();

        ctrl = 0;
        friendlyUnitCount       = 0;
        enemyUnitCount          = 0;
        timer                   = 0;
        curAttackersHighlighted = false;
        playerTurn              = true;
        curPhase                = GamePhase.Prep;
        selected                = null;
        typeToAssign            = null;

        //material control for combatants
        sub1orig = null;
        sub2orig = null;

        ih = GameObject.Find("InventoryController").GetComponent <InventoryHandler>();

        mk = GameObject.Find("MarketController").GetComponent <MarketController>();

        arrow = GameObject.FindGameObjectWithTag("indicator");

        lg = gameObject.GetComponent <LevelGenerator>();

        levelCount = 0;
        //uic = GameObject.Find("CTRLPanel").GetComponent<ActiveUIController>();
        //mk.initMarketPhase(testLevel);

        //DontDestroyOnLoad(gameObject);

        startingDifficulty = 5f;
        curDifficulty      = startingDifficulty;
        if (!st.isInfinite)
        {
            int temp = 0;
        }
        else
        {
            ctrl += startingCtrlBoost;
            //GameObject.Find("TutorialPanel").SetActive(false);
            //FOR SOME REASON, IF I JUST DISABLE THE TUTORIAL PANEL THEN UNITSELECTPANEL MOVES TWICE AS MUCH
            //WHEN EXPANDING.
            //TODO: FIGURE OUT WHY THE F**K AND REMOVE THIS SHITTY ASS SOLUTION BELOW.
            Color      setTo  = new Color(0, 0, 0, 0);
            GameObject target = GameObject.Find("TutorialPanel");
            target.GetComponent <Image>().color = setTo;
            target.transform.GetChild(0).GetComponent <Text>().color             = setTo;
            target.transform.GetChild(1).GetComponent <Image>().color            = setTo;
            target.transform.GetChild(1).GetChild(0).GetComponent <Text>().color = setTo;
            target.transform.GetChild(2).GetComponent <Image>().color            = setTo;
            target.transform.GetChild(2).GetChild(0).GetComponent <Text>().color = setTo;
        }
    }
示例#14
0
        private void CanModifyMarketProbability()
        {
            var newMarket =
                Common.CreateAndSaveMockMarket(Guid.NewGuid().ToString(), "Market1", 0.9m, MarketController);

            MarketController.UpdateMarketProbability(newMarket.Id, 0.75m);

            var persistedMarket = MarketController.Get(newMarket.Id);

            Assert.Equal(0.75m, persistedMarket.MarketProbability);
        }
示例#15
0
        public void Create()
        {
            // Arrange
            MarketController controller = new MarketController();

            // Act
            ViewResult result = controller.Create() as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
示例#16
0
        private void CanGetAllMarketsByEventId()
        {
            var newEvent = Common.CreateAndSaveMockEvent(EventController);

            Common.CreateAndSaveMockMarket(newEvent.Id, "Team 1 Wins", 0.8m, MarketController);
            Common.CreateAndSaveMockMarket(newEvent.Id, "Team 2 Wins", 0.6m, MarketController);
            Common.CreateAndSaveMockMarket(newEvent.Id, "Draw", 0.1m, MarketController);

            var persistedMarkets = MarketController.GetByEventId(newEvent.Id);

            Assert.Equal(3, persistedMarkets.Count);
        }
示例#17
0
        public static Market CreateAndSaveMockMarket(string eventId, string marketDescription, decimal marketProbability,
                                                     MarketController marketController)
        {
            var newMarket = new Market()
            {
                EventId           = eventId,
                MarketDescription = marketDescription,
                MarketProbability = marketProbability
            };

            return(marketController.Post(newMarket));
        }
示例#18
0
        public MarketTests()
        {
            var betRepo       = new BetRepository();
            var marketRepo    = new MarketRepository();
            var eventRepo     = new EventRepository();
            var betService    = new BetService(betRepo, eventRepo, marketRepo);
            var marketService = new MarketService(marketRepo, betService);
            var eventService  = new EventService(eventRepo, marketService);

            MarketController = new MarketController(marketService);
            EventController  = new EventController(eventService);
            BetController    = new BetController(betService);
        }
示例#19
0
        private void CanInitialiseAndGetMarketWithBets()
        {
            var nEvent = Common.CreateAndSaveMockEvent(EventController);

            var nMarket = Common.CreateAndSaveMockMarket(
                nEvent.Id, "Market 1", 0.1m, MarketController);

            Common.CreateAndSaveMockBet(nMarket.Id, 1, BetController);
            Common.CreateAndSaveMockBet(nMarket.Id, 2, BetController);
            Common.CreateAndSaveMockBet(nMarket.Id, 3, BetController);

            var persistedMarket = MarketController.Get(nMarket.Id);

            Assert.Equal(3, persistedMarket.MarketBets.Count);
        }
示例#20
0
        public void Index_ReturnMarketDetail()
        {
            //Arrange
            var id       = 5;
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.GetById(It.IsAny <int>())).Returns(testHelper.testMonster(id));
            var author     = new AuthorUseCase(mocqRepo.Object);
            var controller = new MarketController(author);

            // Act
            var actionResult = controller.Details(id) as ViewResult;
            var data         = actionResult.Model as MonsterTO;

            //Assert
            Assert.AreEqual(typeof(MonsterTO), actionResult.Model.GetType());
            Assert.AreEqual(id, data.Id);
        }
示例#21
0
        private void CanCalculateMarketProfitAndPayout()
        {
            var nEvent = Common.CreateAndSaveMockEvent(EventController);

            var newMarket = Common.CreateAndSaveMockMarket(nEvent.Id, "Market 1",
                                                           0.5m, MarketController);

            Common.CreateAndSaveMockBet(newMarket.Id, 100, BetController);
            Common.CreateAndSaveMockBet(newMarket.Id, 50, BetController);
            Common.CreateAndSaveMockBet(newMarket.Id, 99.99m, BetController);

            MarketOutcome marketOutcome = MarketController.GetMarketCurrentOutcome(newMarket.Id);

            var success = (marketOutcome != null) &&
                          (marketOutcome.MarketLoseProfitAmount == 249.99m) &&
                          (marketOutcome.MarketWinPayoutAmount == 499.98m);

            Assert.True(success);
        }
示例#22
0
        public void Index_ReturnMarketMonsters()
        {
            //Arrange
            var mocqRepo = new Mock <IRepository <MonsterTO> >();

            mocqRepo.Setup(x => x.GetAll()).Returns(new List <MonsterTO> {
                testHelper.testMonster(1), testHelper.testMonster(2)
            });
            var author     = new AuthorUseCase(mocqRepo.Object);
            var controller = new MarketController(author);

            // Act
            var actionResult = controller.Index() as ViewResult;
            var data         = actionResult.Model as List <MonsterTO>;

            //Assert
            Assert.AreEqual(2, data.Count());
            Assert.AreEqual(typeof(List <MonsterTO>), data.GetType());
        }
示例#23
0
 public DbMngr()
 {
     UserController      = new UserController();
     AppLocaleController = new AppLocaleController();
     AppTextController   = new AppTextController();
     BankController      = new BankController();
     BattleController    = new BattleController();
     CityController      = new CityController();
     HarborController    = new HarborController();
     InventoryController = new InventoryController();
     ItemController      = new ItemController();
     MarketController    = new MarketController();
     PowerupController   = new PowerupController();
     ProfileAiController = new ProfileAIController();
     QuestController     = new QuestController();
     ResourceController  = new ResourceController();
     RewardController    = new RewardController();
     ScenarioController  = new ScenarioController();
     UserGameController  = new UserGameController();
     VesselController    = new VesselController();
     WeaponController    = new WeaponController();
 }
        public void GetDepthFromControllerTest_TestsTheLinkBetweenMarketControllerAndMArketQueryService_ChecksTheOutputToBeAsExpected()
        {
            // Get the context
            //IApplicationContext applicationContext = ContextRegistry.GetContext();

            // Get the instance through Spring configuration
            MarketController marketController = (MarketController)_applicationContext["MarketController"];
            Depth            depth            = new Depth("XBTUSD", 3);

            depth.AddOrder(new Price(491), new Volume(100), OrderSide.Buy);
            depth.AddOrder(new Price(492), new Volume(100), OrderSide.Buy);
            depth.AddOrder(new Price(492), new Volume(200), OrderSide.Buy);

            depth.AddOrder(new Price(490), new Volume(100), OrderSide.Sell);
            depth.AddOrder(new Price(490), new Volume(100), OrderSide.Sell);
            depth.AddOrder(new Price(490), new Volume(200), OrderSide.Sell);

            DepthMemoryImage depthMemoryImage = (DepthMemoryImage)_applicationContext["DepthMemoryImage"];

            depthMemoryImage.OnDepthArrived(depth);

            IHttpActionResult httpActionResult = marketController.GetDepth("XBTUSD");

            OkNegotiatedContentResult <object> result =
                (OkNegotiatedContentResult <object>)httpActionResult;

            DepthTupleRepresentation returnedDepths = result.Content as DepthTupleRepresentation;

            Assert.IsNotNull(returnedDepths);
            // Bid Depth First Element represented as Item1
            Assert.AreEqual(300, returnedDepths.BidDepth.ToList()[0].Volume);   // Aggregated Volume
            Assert.AreEqual(492, returnedDepths.BidDepth.ToList()[0].Price);    // Price
            Assert.AreEqual(2, returnedDepths.BidDepth.ToList()[0].OrderCount); // OrderCount

            // Ask Depth First Element represented as Item2
            Assert.AreEqual(400, returnedDepths.AskDepth.ToList()[0].Volume);   // Aggregated Volume
            Assert.AreEqual(490, returnedDepths.AskDepth.ToList()[0].Price);    // Price
            Assert.AreEqual(3, returnedDepths.AskDepth.ToList()[0].OrderCount); // OrderCount
        }
        public void GetRateTest_ChecksTheRateForTheGivenCurrencyPairAfterSubmittingDepthLevels_ChecksTheRateReturnedToVerify()
        {
            MarketController marketController = (MarketController)_applicationContext["MarketController"];
            BBOMemoryImage   bboMemoryImage   = (BBOMemoryImage)_applicationContext["BBOMemoryImage"];

            DepthLevel bidLevel1 = new DepthLevel(new Price(491));
            DepthLevel bidLevel2 = new DepthLevel(new Price(492));
            DepthLevel bidLevel3 = new DepthLevel(new Price(493));

            DepthLevel askLevel1 = new DepthLevel(new Price(494));
            DepthLevel askLevel2 = new DepthLevel(new Price(495));
            DepthLevel askLevel3 = new DepthLevel(new Price(496));

            bboMemoryImage.OnBBOArrived("XBT/USD", bidLevel1, askLevel1);
            IHttpActionResult httpActionResult = marketController.GetRate("XBT/USD");

            OkNegotiatedContentResult <Rate> returnedOkRate = (OkNegotiatedContentResult <Rate>)httpActionResult;
            Rate rate = returnedOkRate.Content;

            Assert.AreEqual("XBT/USD", rate.CurrencyPair);
            Assert.AreEqual(492.5, rate.RateValue); // MidPoint of bidLevel1 = 491 & askLevel1 = 494

            bboMemoryImage.OnBBOArrived("XBT/USD", bidLevel2, askLevel2);
            httpActionResult = marketController.GetRate("XBT/USD");
            returnedOkRate   = (OkNegotiatedContentResult <Rate>)httpActionResult;
            rate             = returnedOkRate.Content;

            Assert.AreEqual("XBT/USD", rate.CurrencyPair);
            Assert.AreEqual(493.5, rate.RateValue); // MidPoint of bidLevel2 = 492 & askLevel2 = 495

            bboMemoryImage.OnBBOArrived("XBT/USD", bidLevel3, askLevel3);
            httpActionResult = marketController.GetRate("XBT/USD");
            returnedOkRate   = (OkNegotiatedContentResult <Rate>)httpActionResult;
            rate             = returnedOkRate.Content;

            Assert.AreEqual("XBT/USD", rate.CurrencyPair);
            Assert.AreEqual(494.5, rate.RateValue); // MidPoint of bidLevel3 = 493 & askLevel3 = 496
        }
示例#26
0
        private MarketController setup_repo()
        {
            IMarketRepository market_repo = new MarketRepository(new MarketContext());
            IAuthorRepository author_repo = new AuthorRepository(new MarketContext());

            author_repo.InsertAuthor(new Author {
                ID = "1234", Name = "Alberto", JoinDate = DateTime.Parse("2002-07-06"), location = "USA"
            });
            market_repo.InsertMarket(new Market
            {
                ID       = 123456,
                AuthorID = "1234",
                Title    = "Used Honda Civic 2017",
                Option   = TradeOption.Selling,
                PostDate = DateTime.Parse("2005-09-01"),
                Price    = 5000,
                Post     = "New beautiful car that I recently crashed."
            });

            MarketController controller = new MarketController(market_repo, author_repo);

            return(controller);
        }
示例#27
0
        //BOT STARTING POINT
        public TarkovManager(StartupSettings config, EftApi api)
        {
            _config = config;

            //Create the Login Controller
            _loginController = new LoginController(_config, api);

            //Create the Profile Controller
            _profileController = new ProfileController();

            //Create the Market Controller
            _marketController = new MarketController(_profileController);

            //Create the Trader Controller
            _traderController = new TraderController();

            _botEndTime = DateTime.Now.AddHours(_hoursForBotToRestart);

            //Create a thread for a back-end task that the server will complete
            var botTask = new Task(StartTradingGrind);

            botTask.Start();
        }
示例#28
0
    private void NewGame()
    {
        MarketController mc = new MarketController();
        mc.LoadCommodityShopInventories();

        NPCController nc = new NPCController();
        nc.LoadNewMerchants();
    }
 // Use this for initialization
 void Start()
 {
     mc    = GameObject.Find("Canvas").transform.GetChild(2).GetComponent <MarketController>();
     image = gameObject.transform.GetChild(0).GetComponent <Image>();
 }
示例#30
0
 public TradeApi()
 {
     _marketController = new MarketController(new MarketService());
     _cardController   = new CardController(new CardService());
 }
        public void ReplayOrderBook_IfScenario2IsExecuted_VerifyTheWholeSystemState()
        {
            _applicationContext = ContextRegistry.GetContext();
            Scenario2();
            MarketController  marketController     = (MarketController)_applicationContext["MarketController"];
            IHttpActionResult marketDataHttpResult = marketController.GetOrderBook("XBTUSD");

            OkNegotiatedContentResult <object> okResponseMessage =
                (OkNegotiatedContentResult <object>)marketDataHttpResult;
            OrderBookRepresentation representation = okResponseMessage.Content as OrderBookRepresentation;
            Tuple <OrderRepresentationList, OrderRepresentationList> orderBooks = new Tuple <OrderRepresentationList, OrderRepresentationList>(representation.Bids, representation.Asks);

            marketDataHttpResult = marketController.GetDepth("XBTUSD");
            OkNegotiatedContentResult <object> okResponseMessageDepth = (OkNegotiatedContentResult <object>)marketDataHttpResult;
            DepthTupleRepresentation           beforeReplayDepth      = okResponseMessageDepth.Content as DepthTupleRepresentation;

            IOrderRepository      orderRepository = (IOrderRepository)_applicationContext["OrderRepository"];
            List <OrderReadModel> before          = orderRepository.GetAllOrderOfTrader("5555");

            before = before.Concat(orderRepository.GetAllOrderOfTrader("4444")).ToList();

            ITradeRepository       tradeRepository    = (ITradeRepository)_applicationContext["TradeRepository"];
            IList <TradeReadModel> beforeReplayTrades = tradeRepository.GetAll();
            IList <object>         beforeReplayEvents = outputEventStore.GetAllEvents();

            marketDataHttpResult = marketController.GetBbo("XBTUSD");
            OkNegotiatedContentResult <BBORepresentation> okResponseMessageBboBefore = (OkNegotiatedContentResult <BBORepresentation>)marketDataHttpResult;

            //down the exchange, make new exchange and reply
            CrashAndInitializeAgainWithSnapshot();

            marketController     = (MarketController)_applicationContext["MarketController"];
            marketDataHttpResult = marketController.GetOrderBook("XBTUSD");

            okResponseMessage =
                (OkNegotiatedContentResult <object>)marketDataHttpResult;
            representation = okResponseMessage.Content as OrderBookRepresentation;
            Tuple <OrderRepresentationList, OrderRepresentationList> orderBook1 = new Tuple <OrderRepresentationList, OrderRepresentationList>(representation.Bids, representation.Asks);

            //verify orderbook state
            VerifyOrderBookStateAfterReplay(orderBooks, orderBook1);

            List <OrderReadModel> after = orderRepository.GetAllOrderOfTrader("5555");

            after = after.Concat(orderRepository.GetAllOrderOfTrader("4444")).ToList();
            //verify order table in database
            VerifyDatabaseStateAfterReplay(before, after);
            IList <TradeReadModel> afterReplayTrades = tradeRepository.GetAll();

            //verify trades table in database
            VerifyDatabaseStateAfterReplay(beforeReplayTrades, afterReplayTrades);
            IList <object> afterReplayEvents = outputEventStore.GetAllEvents();

            //verify event store state
            VerifyEventStoreStateAfterReplay(beforeReplayEvents, afterReplayEvents);

            marketDataHttpResult   = marketController.GetDepth("XBTUSD");
            okResponseMessageDepth = (OkNegotiatedContentResult <object>)marketDataHttpResult;
            DepthTupleRepresentation afterReplayDepth = okResponseMessageDepth.Content as DepthTupleRepresentation;

            VerifyDepthBeforeAndAfterReplay(beforeReplayDepth, afterReplayDepth);

            marketDataHttpResult = marketController.GetBbo("XBTUSD");
            OkNegotiatedContentResult <BBORepresentation> okResponseMessageBboAfter = (OkNegotiatedContentResult <BBORepresentation>)marketDataHttpResult;

            VerifyBboAfterReplay(okResponseMessageBboBefore.Content, okResponseMessageBboAfter.Content);
        }
示例#32
0
 public void Persist <T>(_Entity entity)
 {
     if (typeof(T) == typeof(User))
     {
         UserController.Create((User)entity);
     }
     else if (typeof(T) == typeof(AppLocale))
     {
         AppLocaleController.Create((AppLocale)entity);
     }
     else if (typeof(T) == typeof(AppText))
     {
         AppTextController.Create((AppText)entity);
     }
     else if (typeof(T) == typeof(Bank))
     {
         BankController.Create((Bank)entity);
     }
     else if (typeof(T) == typeof(Battle))
     {
         BattleController.Create((Battle)entity);
     }
     else if (typeof(T) == typeof(City))
     {
         CityController.Create((City)entity);
     }
     else if (typeof(T) == typeof(Harbor))
     {
         HarborController.Create((Harbor)entity);
     }
     else if (typeof(T) == typeof(Inventory))
     {
         InventoryController.Create((Inventory)entity);
     }
     else if (typeof(T) == typeof(Item))
     {
         ItemController.Create((Item)entity);
     }
     else if (typeof(T) == typeof(Market))
     {
         MarketController.Create((Market)entity);
     }
     else if (typeof(T) == typeof(Powerup))
     {
         PowerupController.Create((Powerup)entity);
     }
     else if (typeof(T) == typeof(ProfileAI))
     {
         ProfileAiController.Create((ProfileAI)entity);
     }
     else if (typeof(T) == typeof(Quest))
     {
         QuestController.Create((Quest)entity);
     }
     else if (typeof(T) == typeof(Resource))
     {
         ResourceController.Create((Resource)entity);
     }
     else if (typeof(T) == typeof(Reward))
     {
         RewardController.Create((Reward)entity);
     }
     else if (typeof(T) == typeof(Scenario))
     {
         ScenarioController.Create((Scenario)entity);
     }
     else if (typeof(T) == typeof(UserGame))
     {
         UserGameController.Create((UserGame)entity);
     }
     else if (typeof(T) == typeof(Vessel))
     {
         VesselController.Create((Vessel)entity);
     }
     else if (typeof(T) == typeof(Weapon))
     {
         WeaponController.Create((Weapon)entity);
     }
     else
     {
         throw new Exception("Controller not implemented yet.");
     }
 }