Ejemplo n.º 1
0
        public async Task Given_A_Card_Name_Should_Invoke_CardByName_Method_Once()
        {
            // Arrange
            const string cardName = "Blue-Eyes White Dragon";

            _cardRepository.CardByName(Arg.Any <string>()).Returns(new Card());

            // Act
            await _sut.CardByName(cardName);

            // Assert
            await _cardRepository.Received(1).CardByName(Arg.Is(cardName));
        }
Ejemplo n.º 2
0
        private async Task AddCardsToBanlist(List <BanlistCard> banlistCards, YugiohBanlistSection forbiddenBanSection, long banlistId, IEnumerable <Limit> cardlimits, string limit)
        {
            var selectedLimit = cardlimits.Single(l => l.Name.Equals(limit, StringComparison.OrdinalIgnoreCase));

            if (selectedLimit != null)
            {
                foreach (var cardName in forbiddenBanSection.Content)
                {
                    var card = await _cardRepository.CardByName(cardName);

                    if (card != null && !banlistCards.Any(blc => blc.BanlistId == banlistId && blc.CardId == card.Id))
                    {
                        banlistCards.Add(new BanlistCard {
                            BanlistId = banlistId, CardId = card.Id, LimitId = selectedLimit.Id
                        });
                    }
                }
            }
        }
Ejemplo n.º 3
0
 public Task <Card> CardByName(string name)
 {
     return(_cardRepository.CardByName(name));
 }
        public async Task Given_A_BanlistId_And_BanlistSections_Should_Invoke_Update_Method_Once()
        {
            // Arrange
            var yugiohBanlistSections = new List <YugiohBanlistSection>
            {
                new YugiohBanlistSection
                {
                    Title   = "Forbidden",
                    Content = new List <string> {
                        "Dark Hole"
                    }
                },
                new YugiohBanlistSection
                {
                    Title   = "Limited",
                    Content = new List <string> {
                        "Raigeki"
                    }
                },
                new YugiohBanlistSection
                {
                    Title   = "Semi-Limited",
                    Content = new List <string> {
                        "One For One"
                    }
                },
                new YugiohBanlistSection
                {
                    Title   = "Unlimited",
                    Content = new List <string> {
                        "Macro"
                    }
                }
            };

            _limitRepository.GetAll().Returns(new List <Limit>
            {
                new Limit
                {
                    Id   = 1,
                    Name = "Forbidden"
                },
                new Limit
                {
                    Id   = 2,
                    Name = "Limited"
                },
                new Limit
                {
                    Id   = 3,
                    Name = "Semi-Limited"
                },
                new Limit
                {
                    Id   = 4,
                    Name = "Unlimited"
                }
            });

            _cardRepository.CardByName(Arg.Any <string>()).Returns(new Card
            {
                Id = 432
            });

            // Act
            await _sut.Update(123, yugiohBanlistSections);

            // Assert
            await _banlistCardRepository.Received(1).Update(Arg.Any <long>(), Arg.Any <List <BanlistCard> >());
        }