コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
                }
            });
        }
コード例 #4
0
        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);
        }