Example #1
0
        public void Should_find_several_sets()
        {
            //Arrange
            var finder = new SetFinder(new List <ICard> {
                CardFactory.OneBlueDiamond, CardFactory.OneBlueOval, CardFactory.OneBlueSquiggle, CardFactory.OneRedOval,
                CardFactory.OneYellowOval, CardFactory.ThreeBlueOval, CardFactory.TwoBlueOval
            });

            //Act
            var setsFound = finder.Find();

            //Assert
            foreach (var trio in setsFound)
            {
                Assert.True(trio.IsSet());
            }

            Assert.Equal(3, setsFound.Count());

            Assert.Contains(new CardTrio(CardFactory.OneBlueDiamond, CardFactory.OneBlueOval, CardFactory.OneBlueSquiggle), setsFound);
            Assert.Contains(new CardTrio(CardFactory.OneBlueOval, CardFactory.TwoBlueOval, CardFactory.ThreeBlueOval), setsFound);
            Assert.Contains(new CardTrio(CardFactory.OneBlueOval, CardFactory.OneRedOval, CardFactory.OneYellowOval), setsFound);
        }