Beispiel #1
0
        public void UpdateCards_ReturnsTrueIfCardsNonEmpty()
        {
            var ranker = new CardProximityRanker(_decks);

            Assert.IsTrue(ranker.UpdateCards(CardList(new List <string> {
                "Alleycat"
            })));
        }
Beispiel #2
0
        public void UpdateCards_ReturnsTrueIfCardsChangedFromPreviousCall()
        {
            var ranker = new CardProximityRanker(_decks);

            ranker.UpdateCards(CardList(new List <string> {
                "Alleycat"
            }));
            Assert.IsTrue(ranker.UpdateCards(CardList(new List <string> {
                "Alleycat", "Deadly Shot"
            })));
        }
Beispiel #3
0
        public void UpdateCards_ReturnsFalseIfCardsUnchangedFromPreviousCall()
        {
            var ranker = new CardProximityRanker(_decks);

            ranker.UpdateCards(CardList(new List <string> {
                "Alleycat"
            }));
            Assert.IsFalse(ranker.UpdateCards(CardList(new List <string> {
                "Alleycat"
            })));
        }
Beispiel #4
0
        public void OrderedCardsAreSameAsUpdateCards()
        {
            var ranker = new CardProximityRanker(_decks);
            var cards  = CardList(new List <string> {
                "Alleycat", "Deadly Shot"
            });

            ranker.UpdateCards(cards);
            CollectionAssert.AreEqual(CardList(new List <string> {
                "Alleycat", "Deadly Shot"
            }),
                                      ranker.RankedCards);
        }
Beispiel #5
0
        public void FirstCardHasMostDecksInCommon()
        {
            AddDeck(new List <string> {
                "Alleycat", "Deadly Shot"
            });
            AddDeck(new List <string> {
                "Bear Trap", "Deadly Shot"
            });
            var ranker = new CardProximityRanker(_decks);

            ranker.UpdateCards(CardList(new List <string> {
                "Alleycat", "Bear Trap", "Deadly Shot"
            }));
            Assert.AreEqual("Deadly Shot", ranker.RankedCards[0].Name);
        }
Beispiel #6
0
        public void OrderCardWithMatchingDecksBeforeCardWithoutMatch()
        {
            AddDeck(new List <string> {
                "Deadly Shot"
            });
            var ranker = new CardProximityRanker(_decks);
            var cards  = CardList(new List <string> {
                "Alleycat", "Deadly Shot"
            });

            ranker.UpdateCards(cards);
            CollectionAssert.AreEqual(CardList(new List <string> {
                "Deadly Shot", "Alleycat"
            }),
                                      ranker.RankedCards);
        }
Beispiel #7
0
        public void FirstCardIsFirstCopyIfSameDecksInCommon()
        {
            AddDeck(new List <string> {
                "Alleycat"
            }, new List <int> {
                2
            });
            var ranker = new CardProximityRanker(_decks);

            ranker.UpdateCards(CardList(new List <string> {
                "Alleycat"
            }, new List <int> {
                2
            }));
            Assert.AreEqual(1, ranker.RankedCards[0].Count);
        }
Beispiel #8
0
        public void LastCardHasLeastOverlapWithRankedCards()
        {
            AddDeck(new List <string> {
                "Alleycat", "Bear Trap"
            });
            AddDeck(new List <string> {
                "Bear Trap", "Tracking", "Deadly Shot"
            });
            var ranker = new CardProximityRanker(_decks);

            ranker.UpdateCards(
                CardList(new List <string> {
                "Alleycat", "Bear Trap", "Tracking", "Deadly Shot"
            }));
            Assert.AreEqual("Alleycat", ranker.RankedCards[3].Name);
        }
Beispiel #9
0
        public void FirstCardIsFirstCopyIfMostDecksInCommon()
        {
            AddDeck(new List <string> {
                "Alleycat"
            }, new List <int> {
                2
            });
            AddDeck(new List <string> {
                "Alleycat", "Deadly Shot"
            }, new List <int> {
                2, 1
            });
            var ranker = new CardProximityRanker(_decks);

            ranker.UpdateCards(CardList(new List <string> {
                "Alleycat", "Deadly Shot"
            }));
            Assert.AreEqual("Alleycat", ranker.RankedCards[0].Name);
        }
Beispiel #10
0
        public void UpdateCards_ReturnsFalseIfNoCards()
        {
            var ranker = new CardProximityRanker(_decks);

            Assert.IsFalse(ranker.UpdateCards(new List <Card>()));
        }