Example #1
0
        public void TestCountPoints()
        {
            // Given
            List <Player> players = new List <Player>();

            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.EO)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.H7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.E7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.EA)
            }));
            SchafkopfGame game = new SchafkopfGame(players);

            Sauspiel saupspiel   = new Sauspiel(game, players[0], players[3].Cards[0].CardValue);
            var      spielKarten = new Card[] {
                players[0].Cards[0],
                players[1].Cards[0],
                players[2].Cards[0],
                players[3].Cards[0]
            };

            // When / Then
            Assert.That(game.CountPoints(spielKarten.ToList()), Is.EqualTo(3 + 0 + 0 + 11));
        }
        public void TestPassTrumpFalse()
        {
            // Given
            List <Player> players = new List <Player>();

            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.G7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.GO), new Card(CardValues.G9)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.S7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.GA)
            }));
            SchafkopfGame game = new SchafkopfGame(players);

            Sauspiel saupspiel   = new Sauspiel(game, players[0], players[3].Cards[0].CardValue);
            var      spielKarten = new Card[] {
                players[0].Cards[0],
                players[1].Cards[0],
                players[2].Cards[0],
                players[3].Cards[0]
            };

            // When / Then
            Assert.That(Sauspiel.CheckSchlagFarbePassed(spielKarten, spielKarten[0]) == false);
            Assert.Throws <ArgumentException>(() => Sauspiel.CardComparison(spielKarten, spielKarten[0]));
        }
        public void TestPassColorCorrect()
        {
            // Given
            List <Player> players = new List <Player>();

            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.EO), new Card(CardValues.G7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.S8)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.S7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.GA)
            }));
            SchafkopfGame game = new SchafkopfGame(players);

            Sauspiel saupspiel   = new Sauspiel(game, players[0], players[3].Cards[0].CardValue);
            var      spielKarten = new Card[] {
                players[0].Cards[0],
                players[1].Cards[0],
                players[2].Cards[0],
                players[3].Cards[0]
            };

            // When / Then
            Assert.That(Sauspiel.CheckSchlagFarbePassed(spielKarten, spielKarten[0]));
        }
        public void TestHighestPoints()
        {
            // Given
            List <Player> players = new List <Player>();

            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.E7), new Card(CardValues.S7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.EA), new Card(CardValues.S10)
            }));
            SchafkopfGame game = new SchafkopfGame(players);

            Sauspiel saupspiel   = new Sauspiel(game, players[0], players[1].Cards[0].CardValue);
            var      spielKarten = new Card[] {
                players[0].Cards[1],
                players[1].Cards[1]
            };
            // When
            var hoechsteKarte = Sauspiel.HighestPoints(spielKarten);

            Assert.That(hoechsteKarte.CardValue, Is.EqualTo(CardValues.S10));
            Assert.That(hoechsteKarte.Owner, Is.EqualTo(players[1]));
        }
Example #5
0
        public void TestRedistributeStich()
        {
            // Given
            List <Player> players = new List <Player>();

            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.EO)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.H7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.E7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.EA)
            }));
            SchafkopfGame game = new SchafkopfGame(players);

            Sauspiel saupspiel   = new Sauspiel(game, players[0], players[3].Cards[0].CardValue);
            var      spielKarten = new Card[] {
                players[0].Cards[0],
                players[1].Cards[0],
                players[2].Cards[0],
                players[3].Cards[0]
            };

            var hoechsteKarte = Sauspiel.CardComparison(spielKarten, players[0].Cards[0]);

            // When
            game.RedistributeStich(spielKarten, hoechsteKarte);

            // Then
            Assert.That(hoechsteKarte.CardValue, Is.EqualTo(CardValues.EO));
            Assert.That(hoechsteKarte.Owner, Is.EqualTo(players[0]));
            Assert.That(players[0].Stiche.Count(), Is.EqualTo(1));

            foreach (var player in game.PlayerList)
            {
                Assert.That(player.Cards.Count(), Is.EqualTo(0));
            }

            for (int i = 1; i <= 3; i++)
            {
                Assert.That(players[i].Stiche.Count(), Is.EqualTo(0));
            }
        }
Example #6
0
        public void TestCountPointsByPlayer()
        {
            // Given
            List <Player> players = new List <Player>();

            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.EO)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.H7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.E7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.EA)
            }));
            SchafkopfGame game = new SchafkopfGame(players);

            Sauspiel saupspiel   = new Sauspiel(game, players[0], players[3].Cards[0].CardValue);
            var      spielKarten = new Card[] {
                players[0].Cards[0],
                players[1].Cards[0],
                players[2].Cards[0],
                players[3].Cards[0]
            };
            // When
            var highestCard = Sauspiel.CardComparison(spielKarten, spielKarten[0]);

            game.RedistributeStich(spielKarten, highestCard);
            var pointsByPlayer = game.CountStichPointsByPlayers();

            // Then
            Assert.That(pointsByPlayer[players[0]], Is.EqualTo(3 + 0 + 0 + 11));
            for (int i = 1; i < players.Count(); i++)
            {
                Assert.That(pointsByPlayer[players[i]], Is.EqualTo(0));
            }
        }
        public void TestConstruction()
        {
            // Given
            List <Player> players = new List <Player>();

            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.E10), new Card(CardValues.H7), new Card(CardValues.H9), new Card(CardValues.EO)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.E9), new Card(CardValues.E7), new Card(CardValues.E7), new Card(CardValues.EA)
            }));
            SchafkopfGame game = new SchafkopfGame(players);
            // When
            Sauspiel saupspiel = new Sauspiel(game, players[0], players[1].Cards[3].CardValue);

            // Then
            Assert.That(saupspiel.ChiefPlayer, Is.EqualTo(players[0]));
            Assert.That(saupspiel.ChiefPlayerPartner, Is.EqualTo(players[1]));
            Assert.That(saupspiel.SearchedAss.CardValue, Is.EqualTo(CardValues.EA));
        }
        public void TestHighestColor()
        {
            // Given
            List <Player> players = new List <Player>();

            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.E7), new Card(CardValues.HO)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.EA), new Card(CardValues.EO)
            }));
            SchafkopfGame game = new SchafkopfGame(players);

            Sauspiel saupspiel   = new Sauspiel(game, players[0], players[1].Cards[0].CardValue);
            var      spielKarten = new Card[] {
                players[0].Cards[1],
                players[1].Cards[1]
            };

            // When
            Assert.That(Sauspiel.HighestColor(spielKarten).CardValue, Is.EqualTo(CardValues.EO));
        }
        public void TestErsteFarbeGespielt()
        {
            // Given
            List <Player> players = new List <Player>();

            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.G7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.S8)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.S7)
            }));
            players.Add(new Player(new List <Card>()
            {
                new Card(CardValues.GA)
            }));
            SchafkopfGame game = new SchafkopfGame(players);

            Sauspiel saupspiel   = new Sauspiel(game, players[0], players[3].Cards[0].CardValue);
            var      spielKarten = new Card[] {
                players[0].Cards[0],
                players[1].Cards[0],
                players[2].Cards[0],
                players[3].Cards[0]
            };
            // When
            var hoechsteKarte = Sauspiel.CardComparison(spielKarten, players[1].Cards[0]);

            Assert.That(hoechsteKarte.CardValue, Is.EqualTo(CardValues.S8));
            Assert.That(hoechsteKarte.Owner, Is.EqualTo(players[1]));
        }
 public void SelectGame(Player selectedPlayer, CardValues selectedCardValue)
 {
     Sauspiel = new Sauspiel(Game, selectedPlayer, selectedCardValue);
     MakeTurn(_currentPlayerIndex);
 }