Beispiel #1
0
        public void Test_CardsInDeckRepo(string suit, int value)
        {
            DeckRepository dr    = new DeckRepository(1);
            var            cards = dr.GetDeck().Cards;

            Assert.True(cards.Exists(x => x.Suit == suit && x.Value == value));
        }
Beispiel #2
0
        public static bool OutputDeckToFile(string deckName, string path)
        {
            var deck = DeckRepository.GetDeck(deckName);

            if (File.Exists(path))
            {
                File.Delete(path);
            }
            var temp = File.Create(path);

            temp.Flush();
            temp.Close();

            using (var file = new StreamWriter(@path))
            {
                file.WriteLine($"1x {deck.Commander.Name} *CMDR*");

                foreach (var card in deck.Cards)
                {
                    file.WriteLine($"1x {card.Name}");
                }

                file.Close();
            }

            return(true);
        }
Beispiel #3
0
        public static void RenameDeck(string deckName, string newName)
        {
            var deck = DeckRepository.GetDeck(deckName);

            deck.DeckName = newName;
            DeckRepository.UpdateDeckName(deck);
        }
Beispiel #4
0
        public void Update_WhenDeckFound_Updates()
        {
            var deckHash    = "deckHash";
            var hashidsMock = new Mock <IHashids>();

            hashidsMock.Setup(x => x.Encode(It.IsAny <int>())).Returns(deckHash);
            var deckRepository = new DeckRepository(DbContextFactory.Create(), hashidsMock.Object);

            deckRepository.Insert(new Deck());

            var deck = deckRepository.GetDeck(deckHash);

            deck.Remaining = 21;
            deckRepository.Update(deck);

            Assert.That(deckRepository.GetDeck(deckHash).Remaining == 21);
        }
Beispiel #5
0
        public void Update_WhenDeckNotFound_Throws()
        {
            var deckHash       = "deckHash";
            var hashidsMock    = new Mock <IHashids>();
            var deckRepository = new DeckRepository(DbContextFactory.Create(), hashidsMock.Object);

            Assert.Throws <DeckNotFoundException>(() => deckRepository.Update(deckRepository.GetDeck(deckHash)));
        }
Beispiel #6
0
        public void Initialize()
        {
            Cards = new List <DCard>();
            DeckRepository dr = new DeckRepository(1);

            Cards = dr.GetDeck().Cards;
            Shuffle();
        }
Beispiel #7
0
        public static IEnumerable <CardVm> GetDeckLands(string deckName)
        {
            Console.WriteLine("Getting Deck");
            var deck = DeckRepository.GetDeck(deckName);

            Console.WriteLine("Looking for legal cards");
            var legalCards = CardRepository.GetAllCommanderLegalCardInGivenColors(CardBLL.GetCardColors(CardMapper.Map(deck.Commander)));

            Console.WriteLine($"Attempting to find lands in {legalCards.Count()} cards.");

            return(CardMapper.Map(legalCards.Where(c => c.Types.Contains("land"))));
        }
Beispiel #8
0
        public static DeckStatsVm GetDeckStats(string deckName)
        {
            var deck = DeckRepository.GetDeck(deckName);

            var deckStats = new DeckStatsVm
            {
                DeckName          = deck.DeckName,
                CreatureCount     = deck.Cards.Count(c => c.Types.Contains("creature")) + 1,
                LandCount         = deck.Cards.Count(c => c.Types.Contains("land")),
                ArtifactCount     = deck.Cards.Count(c => c.Types.Contains("artifact")),
                SorceryCount      = deck.Cards.Count(c => c.Types.Contains("sorcery")),
                InstantCount      = deck.Cards.Count(c => c.Types.Contains("instant")),
                PlaneswalkerCount = deck.Cards.Count(c => c.Types.Contains("planeswalker")),
                EnchantmentCount  = deck.Cards.Count(c => c.Types.Contains("enchantment"))
            };

            return(deckStats);
        }
Beispiel #9
0
        public static bool BuildCommanderDeck(string deckName, string tribeType)
        {
            var deck = DeckRepository.GetDeck(deckName);

            if (deck.Commander == null)
            {
                return(false);
            }

            var legalCards = CardRepository.GetAllCommanderLegalCardInGivenColors(CardBLL.GetCardColors(CardMapper.Map(deck.Commander)));
            var tempCards  = legalCards.Where(c => c.SubTypes.Contains(tribeType) || c.RulesText.Contains(tribeType) && c.Id != deck.Commander.Id);

            if (tempCards.Count() > 34)
            {
                tempCards = tempCards.ToList().GetRange(0, 34);
            }



            DeckRepository.UpdateDeck(deck);

            return(true);
        }
 public Card[] GetDeck(Guid userId)
 {
     return(_deckRepository.GetDeck(userId));
 }