コード例 #1
0
        public async Task WeTakeAllItemsExceptTheHighestOne()
        {
            var rakeService = new RakeService();

            var bets = new List <DatabaseModel.Bet>
            {
                new DatabaseModel.Bet(1, 0, 1, DateTime.Today, 11),
                new DatabaseModel.Bet(2, 0, 1, DateTime.Now, 22),
            };

            var itemBets = new List <DatabaseModel.ItemBetted>
            {
                new DatabaseModel.ItemBetted(11, 0, "assetId1", 100),
                new DatabaseModel.ItemBetted(22, 0, "assetId2", 50),
                new DatabaseModel.ItemBetted(22, 0, "assetId3", 3),
                new DatabaseModel.ItemBetted(22, 0, "assetId4", 3),
                new DatabaseModel.ItemBetted(22, 0, "assetId5", 3),
            };


            var res = rakeService.GetItemsThatWeShouldTake(50, bets, itemBets, _winningUser);

            Assert.Equal(3, res.ItemIdsToUs.Count);
            Assert.Equal(1, res.ItemIdsToWinner.Count);
        }
コード例 #2
0
        public async Task WeTakeRakeBeacuseOfBadName(string name)
        {
            var rakeService = new RakeService();

            var bets = new List <DatabaseModel.Bet>
            {
                new DatabaseModel.Bet(1, 0, 1, DateTime.Today, 11),
                new DatabaseModel.Bet(2, 0, 1, DateTime.Now, 22),
            };

            var itemBets = new List <DatabaseModel.ItemBetted>
            {
                new DatabaseModel.ItemBetted(11, 0, "assetId1", 73),
                new DatabaseModel.ItemBetted(22, 0, "assetId2", 11),
                new DatabaseModel.ItemBetted(22, 0, "assetId3", 10),
                new DatabaseModel.ItemBetted(22, 0, "assetId4", 3),
                new DatabaseModel.ItemBetted(22, 0, "assetId5", 3),
            };

            var user = new DatabaseModel.User("winnerSteamId", name, "", "", DateTime.Now, DateTime.Now, false, null, 1);


            var res = rakeService.GetItemsThatWeShouldTake(10, bets, itemBets, user);

            Assert.Equal(1, res.ItemIdsToUs.Count);
            Assert.Equal(4, res.ItemIdsToUs.Count + res.ItemIdsToWinner.Count);
            Assert.Equal(3, res.ItemIdsToWinner.Count);
        }
コード例 #3
0
        public async Task WeTakeRakeNormalSuccess3()
        {
            var rakeService = new RakeService();

            var bets = new List <DatabaseModel.Bet>
            {
                new DatabaseModel.Bet(1, 0, 1, DateTime.Today, 11),
                new DatabaseModel.Bet(2, 0, 1, DateTime.Today, 22),
                new DatabaseModel.Bet(3, 0, 1, DateTime.Today, 33),
                new DatabaseModel.Bet(4, 0, 1, DateTime.Today, 44),
                new DatabaseModel.Bet(5, 0, 1, DateTime.Today, 55),
                new DatabaseModel.Bet(6, 0, 1, DateTime.Today, 66),
            };

            var itemBets = new List <DatabaseModel.ItemBetted>
            {
                new DatabaseModel.ItemBetted(11, 0, "assetId1", 100),
                new DatabaseModel.ItemBetted(22, 0, "assetId2", 50),
                new DatabaseModel.ItemBetted(22, 0, "assetId3", 3),
                new DatabaseModel.ItemBetted(22, 0, "assetId4", 3),
                new DatabaseModel.ItemBetted(22, 0, "assetId5", new decimal(0.5)),
                new DatabaseModel.ItemBetted(33, 0, "assetId6", new decimal(10.5)),
                new DatabaseModel.ItemBetted(33, 0, "assetId7", new decimal(45.47)),
                new DatabaseModel.ItemBetted(33, 0, "assetId8", new decimal(4.87)),
                new DatabaseModel.ItemBetted(44, 0, "assetId9", new decimal(78.0)),
                new DatabaseModel.ItemBetted(55, 0, "assetId10", new decimal(54.0)),
                new DatabaseModel.ItemBetted(44, 0, "assetId12", new decimal(5.0)),
                new DatabaseModel.ItemBetted(55, 0, "assetId13", new decimal(4.0)),
                new DatabaseModel.ItemBetted(66, 0, "assetId14", new decimal(8.0)),
                new DatabaseModel.ItemBetted(33, 0, "assetId15", new decimal(8.54)),
            };

            var sum = itemBets.Sum(i => i.Value);
            var x   = itemBets.OrderBy(i => i.Value).ToList();
            //374.88
            //37.488
            //14 items - 1


            var res = rakeService.GetItemsThatWeShouldTake(10, bets, itemBets, _winningUser);

            Assert.Equal(6, res.ItemIdsToUs.Count);
            Assert.Equal(7, res.ItemIdsToWinner.Count);
        }
コード例 #4
0
        public async Task WeTakeRakeButThereAreNoItemsThatWeCanTakeDueToWinnerNeedsToReceveAtleastOneItemSuccess()
        {
            var rakeService = new RakeService();

            var bets = new List <DatabaseModel.Bet>
            {
                new DatabaseModel.Bet(1, 0, 1, DateTime.Today, 11),
                new DatabaseModel.Bet(2, 0, 1, DateTime.Now, 22),
            };

            var itemBets = new List <DatabaseModel.ItemBetted>
            {
                new DatabaseModel.ItemBetted(11, 0, "assetId1", 100),
                new DatabaseModel.ItemBetted(22, 0, "assetId2", 3),
            };


            var res = rakeService.GetItemsThatWeShouldTake(5, bets, itemBets, _winningUser);

            Assert.Equal(0, res.ItemIdsToUs.Count);
            Assert.Equal(1, res.ItemIdsToWinner.Count);
        }