public async Task TestLocalDeckService() { var cardsService = new CardsService(); var service = new LocalDeckService(cardsService); var decks = await service.GetSavedDecksAsync(); Assert.IsTrue(decks.Count == 1); var defaultDeck = decks[0]; Assert.AreEqual(DeckType.GENERATED_DECK, defaultDeck.Type); //create a deck var newDeck = new Deck(Faction.THORNS) { Name = "Service Test Deck" }; newDeck.Add(new Cards().All.First((c) => c.Faction == Faction.THORNS && c.Type != CardType.CHAMPION)); var savedDeck = await service.SaveDeckAsync(newDeck); Assert.AreEqual(newDeck.ID, savedDeck.ID); Assert.AreEqual(newDeck, savedDeck); //test retrieving saved deck service = new LocalDeckService(cardsService); decks = await service.GetSavedDecksAsync(); var deck = decks[0]; Assert.AreEqual(savedDeck.ID, deck.ID); //unmodified save var timestamp = deck.LastModified; savedDeck = await service.SaveDeckAsync(deck); Assert.AreEqual(timestamp, savedDeck.LastModified); //modified save savedDeck.Description = "Modified Description"; savedDeck = await service.SaveDeckAsync(deck); Assert.AreNotEqual(timestamp, savedDeck.LastModified); Assert.IsTrue(await service.DeleteDeckAsync(deck)); service = new LocalDeckService(cardsService); decks = await service.GetSavedDecksAsync(); Assert.IsTrue(decks.Count == 1); defaultDeck = decks[0]; Assert.AreEqual(DeckType.GENERATED_DECK, defaultDeck.Type); var restoredDeck = await service.RestoreLastDeletedDeck(); Assert.AreEqual(deck.ID, restoredDeck.ID); }
public async Task TestLoadDeck_minimalData() { var deckJson = ReadDeckFile("minimum.dfd"); Assert.IsNotNull(deckJson); var cardsService = new CardsService(); var service = new LocalDeckService(cardsService); var deck = await service.OpenDeckDataAsync(deckJson); Assert.IsNotNull(deck); Assert.AreEqual(Faction.THORNS, deck.DeckFaction); Assert.AreEqual(DeckType.EXTERNAL_DECK, deck.Type); }
public void Cleanup() { var cardsService = new CardsService(); var service = new LocalDeckService(cardsService); var decksGetter = service.GetSavedDecksAsync().ContinueWith(async(t) => { var decks = t.Result; foreach (var deck in decks) { await service.DeleteDeckAsync(deck); } }); }
public async Task TestLoadDeck_v1() { var deckJson = ReadDeckFile("v1.dfd"); Assert.IsNotNull(deckJson); var cardsService = new CardsService(); var service = new LocalDeckService(cardsService); var deck = await service.OpenDeckDataAsync(deckJson); Assert.IsNotNull(deck); Assert.AreEqual(Faction.THORNS, deck.DeckFaction); Assert.AreEqual(DeckType.EXTERNAL_DECK, deck.Type); Assert.AreEqual(30, deck.Count); Assert.AreEqual("ThC002", deck.Champion.ID); }