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]));
        }
Example #2
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 #3
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 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]));
        }