Esempio n. 1
0
        public void TestTrullWithTwoDeclarersAndTwoWinnersAndTricks()
        {
            //Arrange
            var game = new GameBuilder(this.Session).Build();

            this.scoreboard.AddGame(game);

            game.StartDate = this.Session.Now();
            game.EndDate   = game.StartDate.Value.AddHours(1);

            //Act
            game.GameType = this.gameTypes.Trull;
            game.AddDeclarer(this.player1);
            game.AddDeclarer(this.player2);

            game.AddWinner(this.player1);
            game.AddWinner(this.player2);

            game.ExtraTrick = 3;

            this.Session.Derive();

            //Assert
            Assert.Equal(10, game.Scores.First(v => v.Player == this.player1).Value);
            Assert.Equal(10, game.Scores.First(v => v.Player == this.player2).Value);
            Assert.Equal(-10, game.Scores.First(v => v.Player == this.player3).Value);
            Assert.Equal(-10, game.Scores.First(v => v.Player == this.player4).Value);
            Assert.True(this.scoreboard.ZeroTest());
        }
        public void TestMiserieWithFourDeclarersAndThreeWinners()
        {
            //Arrange
            var game = new GameBuilder(this.Session).Build();

            scoreboard.AddGame(game);

            game.StartDate = this.Session.Now();
            game.EndDate   = game.StartDate.Value.AddHours(1);

            //Act
            game.GameType = this.GameTypes.Miserie;
            game.AddDeclarer(player1);
            game.AddDeclarer(player2);
            game.AddDeclarer(player3);
            game.AddDeclarer(player4);

            game.AddWinner(player1);
            game.AddWinner(player2);
            game.AddWinner(player3);

            this.Session.Derive();

            //Assert
            Assert.Equal(15, game.Scores.First(v => v.Player == player1).Value);
            Assert.Equal(15, game.Scores.First(v => v.Player == player2).Value);
            Assert.Equal(15, game.Scores.First(v => v.Player == player3).Value);
            Assert.Equal(-45, game.Scores.First(v => v.Player == player4).Value);
            Assert.True(this.scoreboard.NulProef());
        }
Esempio n. 3
0
        public void TestTroelWithTwoDeclarersAndTwoWinnersAndAllTricks()
        {
            //Arrange
            var game = new GameBuilder(this.Session).Build();

            scoreboard.AddGame(game);

            game.StartDate = this.Session.Now();
            game.EndDate   = game.StartDate.Value.AddHours(1);

            //Act
            game.GameType = this.GameTypes.Troel;
            game.AddDeclarer(player1);
            game.AddDeclarer(player2);

            game.AddWinner(player1);
            game.AddWinner(player2);

            game.Overslagen = 5;

            this.Session.Derive();

            //Assert
            Assert.Equal(28, game.Scores.First(v => v.Player == player1).Value);
            Assert.Equal(28, game.Scores.First(v => v.Player == player2).Value);
            Assert.Equal(-28, game.Scores.First(v => v.Player == player3).Value);
            Assert.Equal(-28, game.Scores.First(v => v.Player == player4).Value);
            Assert.True(this.scoreboard.NulProef());
        }
Esempio n. 4
0
        public void TestAccumulatedScoresWithMultipleGameTypes()
        {
            //Arrange
            var game = new GameBuilder(this.Session).Build();

            this.scoreboard.AddGame(game);

            game.StartDate = this.Session.Now();
            game.EndDate   = game.StartDate.Value.AddHours(1);

            var game2 = new GameBuilder(this.Session).Build();

            this.scoreboard.AddGame(game2);

            game2.StartDate = this.Session.Now();
            game2.EndDate   = game2.StartDate.Value.AddHours(1);

            var game3 = new GameBuilder(this.Session).Build();

            this.scoreboard.AddGame(game3);

            game3.StartDate = this.Session.Now();
            game3.EndDate   = game3.StartDate.Value.AddHours(1);

            //Act
            game.GameType = this.gameTypes.SmallSlam;

            game.AddDeclarer(this.player1);
            game.ExtraTrick = 0;

            game.AddWinner(this.player1);

            game2.GameType = this.gameTypes.Trull;

            game2.AddDeclarer(this.player1);
            game2.AddDeclarer(this.player2);
            game2.ExtraTrick = 2;

            game2.AddWinner(this.player1);
            game2.AddWinner(this.player2);

            game3.GameType = this.gameTypes.Misery;

            game3.AddDeclarer(this.player1);

            game3.AddWinner(this.player1);

            this.Session.Derive();

            //Assert
            Assert.Equal(29, this.scoreboard.AccumulatedScores.First(v => v.Player == this.player1).Value);
            Assert.Equal(1, this.scoreboard.AccumulatedScores.First(v => v.Player == this.player2).Value);
            Assert.Equal(-15, this.scoreboard.AccumulatedScores.First(v => v.Player == this.player3).Value);
            Assert.Equal(-15, this.scoreboard.AccumulatedScores.First(v => v.Player == this.player4).Value);
        }
        public void TestAccumulatedScoresWithMultipleGameTypes()
        {
            //Arrange
            var game = new GameBuilder(this.Session).Build();

            scoreboard.AddGame(game);

            game.StartDate = this.Session.Now();
            game.EndDate   = game.StartDate.Value.AddHours(1);

            var game2 = new GameBuilder(this.Session).Build();

            scoreboard.AddGame(game2);

            game2.StartDate = this.Session.Now();
            game2.EndDate   = game2.StartDate.Value.AddHours(1);

            var game3 = new GameBuilder(this.Session).Build();

            scoreboard.AddGame(game3);

            game3.StartDate = this.Session.Now();
            game3.EndDate   = game3.StartDate.Value.AddHours(1);

            //Act
            game.GameType = this.GameTypes.AlleenGaan;

            game.AddDeclarer(player1);
            game.Overslagen = 0;

            game.AddWinner(this.player1);

            game2.GameType = this.GameTypes.Troel;

            game2.AddDeclarer(player1);
            game2.AddDeclarer(player2);
            game2.Overslagen = 2;

            game2.AddWinner(this.player1);
            game2.AddWinner(this.player2);

            game3.GameType = this.GameTypes.Miserie;

            game3.AddDeclarer(player1);

            game3.AddWinner(this.player1);

            this.Session.Derive();

            //Assert
            Assert.Equal(29, scoreboard.AccumulatedScores.First(v => v.Player == player1).Value);
            Assert.Equal(1, scoreboard.AccumulatedScores.First(v => v.Player == player2).Value);
            Assert.Equal(-15, scoreboard.AccumulatedScores.First(v => v.Player == player3).Value);
            Assert.Equal(-15, scoreboard.AccumulatedScores.First(v => v.Player == player4).Value);
        }
Esempio n. 6
0
        public void TestAccumulatedScoresWithOneGame()
        {
            //Arrange
            var game = new GameBuilder(this.Session).Build();

            this.scoreboard.AddGame(game);

            game.StartDate = this.Session.Now();
            game.EndDate   = game.StartDate.Value.AddHours(1);

            //Act
            game.GameType = this.gameTypes.SmallSlam;

            game.AddDeclarer(this.player1);
            game.ExtraTrick = 0;

            game.AddWinner(this.player1);

            this.Session.Derive();

            //Assert
            Assert.Equal(6, this.scoreboard.AccumulatedScores.First(v => v.Player == this.player1).Value);
            Assert.Equal(-2, this.scoreboard.AccumulatedScores.First(v => v.Player == this.player2).Value);
            Assert.Equal(-2, this.scoreboard.AccumulatedScores.First(v => v.Player == this.player3).Value);
            Assert.Equal(-2, this.scoreboard.AccumulatedScores.First(v => v.Player == this.player4).Value);
        }
Esempio n. 7
0
        public void TestSoloWithOneDeclarerAndOneWinnerAndAllTricks()
        {
            //Arrange
            var game = new GameBuilder(this.Session).Build();

            this.scoreboard.AddGame(game);

            game.StartDate = this.Session.Now();
            game.EndDate   = game.StartDate.Value.AddHours(1);

            //Act
            game.GameType = this.gameTypes.SmallSlam;
            game.AddDeclarer(this.player1);
            game.AddWinner(this.player1);
            game.ExtraTrick = 8;

            this.Session.Derive();

            //Assert
            Assert.Equal(60, game.Scores.First(v => v.Player == this.player1).Value);
            Assert.Equal(-20, game.Scores.First(v => v.Player == this.player2).Value);
            Assert.Equal(-20, game.Scores.First(v => v.Player == this.player3).Value);
            Assert.Equal(-20, game.Scores.First(v => v.Player == this.player4).Value);
            Assert.True(this.scoreboard.ZeroTest());
        }
Esempio n. 8
0
        public void TestAlleenGaanWithOneDeclarerAndOneWinnerAndTricks()
        {
            //Arrange
            var game = new GameBuilder(this.Session).Build();

            scoreboard.AddGame(game);

            game.StartDate = this.Session.Now();
            game.EndDate   = game.StartDate.Value.AddHours(1);

            //Act
            game.GameType = this.GameTypes.AlleenGaan;
            game.AddDeclarer(player1);
            game.AddWinner(player1);
            game.Overslagen = 3;

            this.Session.Derive();

            //Assert
            Assert.Equal(15, game.Scores.First(v => v.Player == player1).Value);
            Assert.Equal(-5, game.Scores.First(v => v.Player == player2).Value);
            Assert.Equal(-5, game.Scores.First(v => v.Player == player3).Value);
            Assert.Equal(-5, game.Scores.First(v => v.Player == player4).Value);
            Assert.True(this.scoreboard.NulProef());
        }
        public void TestAccumulatedScoresWithOneGame()
        {
            //Arrange
            var game = new GameBuilder(this.Session).Build();

            scoreboard.AddGame(game);

            game.StartDate = this.Session.Now();
            game.EndDate   = game.StartDate.Value.AddHours(1);

            //Act
            game.GameType = this.GameTypes.AlleenGaan;

            game.AddDeclarer(player1);
            game.Overslagen = 0;

            game.AddWinner(this.player1);

            this.Session.Derive();

            //Assert
            Assert.Equal(6, scoreboard.AccumulatedScores.First(v => v.Player == player1).Value);
            Assert.Equal(-2, scoreboard.AccumulatedScores.First(v => v.Player == player2).Value);
            Assert.Equal(-2, scoreboard.AccumulatedScores.First(v => v.Player == player3).Value);
            Assert.Equal(-2, scoreboard.AccumulatedScores.First(v => v.Player == player4).Value);
        }
Esempio n. 10
0
        public void TestAccumulatedScoresWithTwoGameAndPlayerChangeInBetweenGames()
        {
            //Arrange
            var game = new GameBuilder(this.Session).Build();

            this.scoreboard.AddGame(game);

            game.StartDate = this.Session.Now();
            game.EndDate   = game.StartDate.Value.AddHours(1);

            //Act
            game.GameType = this.gameTypes.SmallSlam;

            game.AddDeclarer(this.player1);
            game.ExtraTrick = 0;

            game.AddWinner(this.player1);

            this.Session.Derive();

            //Arrange
            this.scoreboard.RemovePlayer(this.player4);
            this.scoreboard.AddPlayer(this.player5);

            var game2 = new GameBuilder(this.Session).Build();

            this.scoreboard.AddGame(game2);

            game2.StartDate = this.Session.Now();
            game2.EndDate   = game2.StartDate.Value.AddHours(1);

            //Act
            game2.GameType = this.gameTypes.SmallSlam;

            game2.AddDeclarer(this.player1);
            game2.ExtraTrick = 0;

            game2.AddWinner(this.player1);

            this.Session.Derive();

            //Assert
            Assert.Equal(12, this.scoreboard.AccumulatedScores.First(v => v.Player == this.player1).Value);
            Assert.Equal(-4, this.scoreboard.AccumulatedScores.First(v => v.Player == this.player2).Value);
            Assert.Equal(-4, this.scoreboard.AccumulatedScores.First(v => v.Player == this.player3).Value);
            Assert.Equal(-2, this.scoreboard.AccumulatedScores.First(v => v.Player == this.player5).Value);
        }
        public void TestAbondanceWithOneDeclarerAndOneWinner()
        {
            //Arrange
            var game = new GameBuilder(this.Session).Build();

            this.scoreboard.AddGame(game);

            game.StartDate = this.Session.Now();
            game.EndDate   = game.StartDate.Value.AddHours(1);

            //Act
            game.GameType = this.gameTypes.Abondance;
            game.AddDeclarer(this.player1);
            game.AddWinner(this.player1);
            this.Session.Derive();

            //Assert
            Assert.Equal(15, game.Scores.First(v => v.Player == this.player1).Value);
            Assert.Equal(-5, game.Scores.First(v => v.Player == this.player2).Value);
            Assert.Equal(-5, game.Scores.First(v => v.Player == this.player3).Value);
            Assert.Equal(-5, game.Scores.First(v => v.Player == this.player4).Value);
            Assert.True(this.scoreboard.ZeroTest());
        }