Esempio n. 1
0
        public void GetAllRooms_ShouldWork()
        {
            // Arrange
            int roomsCountExpected   = 2;
            int roundsCountExpected  = 4;
            int playerCountExpected  = 3;
            int pocketsCountExpected = 4;

            // Act
            using (TransactionScope scope = new TransactionScope())
            {
                container = new RoomContainer(
                    repo.CreateRoomContainerDAL(),
                    repo.CreateRoomDAL(),
                    repo.CreateRoundDAL(),
                    repo.CreateUserDAL(),
                    repo.CreateBetDAL(),
                    new Wheel(new NumberGenerator()));


                int roomsCountResult   = 0;
                int roundsCountResult  = 0;
                int playerCountResult  = 0;
                int pocketsCountResult = 0;


                foreach (var room in container.Rooms)
                {
                    roomsCountResult++;

                    foreach (var round in room.Rounds)
                    {
                        roundsCountResult++;

                        if (round.Pocket != null)
                        {
                            pocketsCountResult++;
                        }
                    }
                    foreach (var player in room.Players)
                    {
                        playerCountResult++;
                    }
                }

                // Assert
                Assert.Equal(roomsCountExpected, roomsCountResult);
                Assert.Equal(roundsCountExpected, roundsCountResult);
                Assert.Equal(playerCountExpected, playerCountResult);
                Assert.Equal(pocketsCountExpected, pocketsCountResult);
            }
        }
Esempio n. 2
0
        public void PlaceBet_ShouldWork()
        {
            // Arrange
            User user = new User("Test", repo.CreateUserDAL(), repo.CreateBetDAL())
            {
                Id = 50
            };
            IBet bet = new ColorBet(InterfaceLayerBD.Bet.IPocketColor.Black)
            {
                Stake = 200
            };


            using (TransactionScope scope = new TransactionScope())
            {
                // Act
                bool validCall = user.MakeBet(bet);

                // Assert
                Assert.True(validCall);
                Assert.Equal(bet, user.CurrentBet);
            }
        }
Esempio n. 3
0
        public void GetAllUsers_ShouldWork()
        {
            // Arrange
            int         expected      = 3;
            List <User> expectedUsers = new List <User>()
            {
                new User("NickTEST", null, null)
                {
                    Id       = 1,
                    Email    = "*****@*****.**",
                    Age      = 21,
                    IsActive = true,
                    Balance  = 200
                },
                new User("Test", null, null)
                {
                    Id       = 2,
                    Email    = "*****@*****.**",
                    Age      = 50,
                    IsActive = true,
                    Balance  = 100
                },
                new User("Piet", null, null)
                {
                    Id       = 3,
                    Email    = "*****@*****.**",
                    Age      = 24,
                    IsActive = true,
                    Balance  = 300
                }
            };


            // Act
            using (TransactionScope scope = new TransactionScope())
            {
                container = new UserContainer(repo.CreateUserContainerDal(), repo.CreateUserDAL(), repo.CreateBetDAL());

                var resultUsers = container.Users;
                int resultCount = resultUsers.Count;

                // Assert
                Assert.Equal(expected, resultCount);


                for (int i = 0; i < expectedUsers.Count; i++)
                {
                    Assert.Equal(expectedUsers[i].Id, resultUsers[i].Id);
                    Assert.Equal(expectedUsers[i].Name, resultUsers[i].Name);
                    Assert.Equal(expectedUsers[i].Email, resultUsers[i].Email);
                    Assert.Equal(expectedUsers[i].Age, resultUsers[i].Age);
                    Assert.Equal(expectedUsers[i].IsActive, resultUsers[i].IsActive);
                    Assert.Equal(expectedUsers[i].Balance, resultUsers[i].Balance);
                }
            }
        }