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)); }
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); }
public static void RenameDeck(string deckName, string newName) { var deck = DeckRepository.GetDeck(deckName); deck.DeckName = newName; DeckRepository.UpdateDeckName(deck); }
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); }
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))); }
public void Initialize() { Cards = new List <DCard>(); DeckRepository dr = new DeckRepository(1); Cards = dr.GetDeck().Cards; Shuffle(); }
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")))); }
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); }
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)); }