Beispiel #1
0
 public PurchaseService(CardstoneContext context,
                        ICardService cardService,
                        IPlayerService playerService)
 {
     this._context      = context;
     this.cardService   = cardService;
     this.playerService = playerService;
 }
Beispiel #2
0
 public CombatService(IPlayerService playerService, ICardService cardService,
                      IPlayersCardsService playersCardsService,
                      CardstoneContext context)
 {
     this._playerService       = playerService;
     this._cardService         = cardService;
     this._playersCardsService = playersCardsService;
     this._context             = context;// context 1
 }
        public void ThrowArgumentNullException_When_NullNameIsPassed()
        {
            // Arrange
            using (var context = new CardstoneContext())
            {
                CardService sut = new CardService(context);

                // Act & Assert
                Assert.ThrowsException <ArgumentNullException>(
                    () => sut.CreateCard(null, 0, 0));
            }
        }
Beispiel #4
0
        public void ThrowArgumentNullException_When_ParameterIsNull()
        {
            // Arrange
            using (var context = new CardstoneContext())
            {
                var sut = new PlayerService(context);

                // Act & Assert
                Assert.ThrowsException <ArgumentNullException>(
                    () => sut.AddPlayer(null));
            }
        }
        public void ThrowInvalidPriceException_When_PassedNegativePrice(string name, int attack, int price)
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <CardstoneContext>()
                                 .UseInMemoryDatabase(databaseName: "ThrowInvalidPriceException_When_PassedNegativePrice")
                                 .Options;

            using (var context = new CardstoneContext(contextOptions))
            {
                CardService sut = new CardService(context);

                // Act & Assert
                Assert.ThrowsException <InvalidPriceException>(
                    () => sut.CreateCard(name, attack, price));
            }
        }
        public void ThrowCardDoesNotExistException_When_PassedSuchName()
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <CardstoneContext>()
                                 .UseInMemoryDatabase(databaseName: "ThrowCardDoesNotExistException_When_PassedSuchName")
                                 .Options;

            using (var context = new CardstoneContext(contextOptions))
            {
                var sut = new CardService(context);

                // Act & Assert
                Assert.ThrowsException <CardDoesNotExistException>(()
                                                                   => sut.GetCard("NonExistingCard"));
            }
        }
Beispiel #7
0
        public void Should_ReturnPlayer_WhenPassedValidUsername(string username)
        {
            //Arrange
            var contextOptions = new DbContextOptionsBuilder <CardstoneContext>()
                                 .UseInMemoryDatabase(databaseName: "Should_ReturnPlayer_WhenPassedValidUsername")
                                 .Options;

            //Assert
            using (var assertContext = new CardstoneContext(contextOptions))
            {
                var sut = new PlayerService(assertContext);

                Player player = sut.GetPlayer(username);

                Assert.IsNotNull(player);
            }
        }
        public void AddCardToDatabase_When_PassedValidParameters(string name, int attack, int price)
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <CardstoneContext>()
                                 .UseInMemoryDatabase(databaseName: "AddCardToDatabase_When_PassedValidParameters") // TODO
                                 .Options;

            Card card = new Card()
            {
                Name = name, Attack = attack, Price = price
            };

            int beforeCardsCount;

            using (var arrangeContext = new CardstoneContext(contextOptions))
            {
                beforeCardsCount = arrangeContext.Cards.Count();
            }

            // Act
            using (var actContext = new CardstoneContext(contextOptions))
            {
                var sut = new CardService(actContext);

                sut.CreateCard(card.Name, card.Attack, card.Price);
            }

            // Assert
            using (var assertContext = new CardstoneContext(contextOptions))
            {
                int afterCardsCount = assertContext.Cards.Count();

                int newCardsCount = afterCardsCount - beforeCardsCount;

                Assert.IsTrue(newCardsCount == 1);

                Card cardInDatabase = assertContext.Cards.Last();

                Assert.AreEqual(cardInDatabase.Name, name);
                Assert.AreEqual(cardInDatabase.Attack, attack);
                Assert.AreEqual(cardInDatabase.Price, price);
            }
        }
        public void ReturnTheCard_When_PassedValidName(string name)
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <CardstoneContext>()
                                 .UseInMemoryDatabase(databaseName: "ReturnTheCard_When_PassedValidName")
                                 .Options;

            using (var context = new CardstoneContext(contextOptions))
            {
                var sut = new CardService(context);

                context.Cards.Add(new Card {
                    Name = name, Attack = 50, Price = 50
                });

                Card resultCard = sut.GetCard(name);

                Assert.AreEqual(resultCard.Name, name);
            }
        }
        public void ThrowCardAlreadyExistException_When_PassedExsistingName(
            string firstCardName, int firstCardAttack, int firstCardPrice,
            string secondCardName, int secondCardAttack, int secondCardPrice)
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <CardstoneContext>()
                                 .UseInMemoryDatabase(databaseName: "ThrowCardAlreadyExistException_When_PassedExsistingName")
                                 .Options;

            // Act
            using (var actContext = new CardstoneContext(contextOptions))
            {
                var sut = new CardService(actContext);

                sut.CreateCard(firstCardName, firstCardAttack, firstCardPrice);

                // Assert
                Assert.ThrowsException <CardAlreadyExistException>(
                    () => sut.CreateCard(secondCardName, secondCardAttack, secondCardPrice));
            }
        }
Beispiel #11
0
        public void AddPlayerToDatabase_When_PassedValidParameter(string username)
        {
            // Arrange
            var contextOptions = new DbContextOptionsBuilder <CardstoneContext>()
                                 .UseInMemoryDatabase(databaseName: "AddPlayerToDatabase_When_PassedValidParameter")
                                 .Options;

            Player card = new Player()
            {
                Username = username
            };

            int beforePlayersCount;

            using (var arrangeContext = new CardstoneContext(contextOptions))
            {
                beforePlayersCount = arrangeContext.Players.Count();
            }

            // Act
            using (var actContext = new CardstoneContext(contextOptions))
            {
                var sut = new PlayerService(actContext);

                sut.AddPlayer(username);
            }

            // Assert
            using (var assertContext = new CardstoneContext(contextOptions))
            {
                int afterPlayersCount = assertContext.Players.Count();
                int newPlayersCount   = afterPlayersCount - beforePlayersCount;

                Player playerInDatabase = assertContext.Players.Last();

                Assert.IsTrue(newPlayersCount == 1);
                Assert.AreEqual(playerInDatabase.Username, username);
            }
        }
Beispiel #12
0
 public CardService(CardstoneContext context, IPlayerService playerService)
 {
     this._playerService = playerService;
     this._context       = context;
 }
Beispiel #13
0
 public PlayersCardsService(CardstoneContext context)
 {
     this._context = context;
 }