Пример #1
0
        public void C2_GrilleJeuDessinerPièceTriangle()
        {
            m_maxScore += 1;

            GrilleTétris_Accessor target = new GrilleTétris_Accessor();
            GrilleTétris          grille = (GrilleTétris)target.Target;

            target.m_objPieceCourante = target.FabriquerPiece(5, 5, enuFormePièce.Triangle);
            target.DessinerPieceCourante();

            for (int index = 0; index < target.m_objPieceCourante.NbPoints; index++)
            {
                if (grille[target.m_objPieceCourante.PointAt(index).Rangée, target.m_objPieceCourante.PointAt(index).Colonne] != target.m_objPieceCourante.ImageIndex)
                {
                    Assert.Fail();
                }
            }

            m_totalScore += 1;
        }
Пример #2
0
        public void E1_DescendrePièceCourante()
        {
            m_maxScore += 4;

            GrilleTétris_Accessor target = new GrilleTétris_Accessor();
            GrilleTétris          grille = (GrilleTétris)target.Target;

            // lance autant de triangle que possible...
            for (int cptPiece = 1; cptPiece < grille.RowCount / 2; cptPiece++)
            {
                target.m_objPieceCourante = target.FabriquerPiece(1, 1, enuFormePièce.Triangle);
                target.DessinerPieceCourante();

                for (int cpt = 0; cpt < grille.RowCount - target.m_objPieceCourante.Taille.Height * cptPiece; cpt++)
                {
                    Assert.IsTrue(target.DescendrePièceCourante());
                }
                Assert.IsFalse(target.DescendrePièceCourante());
            }
            m_totalScore += 4;
        }
Пример #3
0
        public void C3_GrilleJeuEffacerPièceTriangle()
        {
            m_maxScore += 1;

            GrilleTétris_Accessor target = new GrilleTétris_Accessor();
            GrilleTétris          grille = (GrilleTétris)target.Target;

            target.m_objPieceCourante = target.FabriquerPiece(5, 5, enuFormePièce.Triangle);
            grille[5, 5] = 1; // pour ne pas que le test passe si dessinerpiece ne fonctionne pas
            target.DessinerPieceCourante();
            target.EffacerPieceCourante();
            for (int index = 0; index < target.m_objPieceCourante.NbPoints; index++)
            {
                if (grille[target.m_objPieceCourante.PointAt(index).Rangée, target.m_objPieceCourante.PointAt(index).Colonne] != 0)
                {
                    Assert.Fail();
                }
            }

            m_totalScore += 1;
        }
Пример #4
0
        public void D2_GrilleJeuDessinerPièceAutres()
        {
            m_maxScore += 2;

            GrilleTétris_Accessor target = new GrilleTétris_Accessor();
            GrilleTétris          grille = (GrilleTétris)target.Target;

            for (enuFormePièce forme = enuFormePièce.Escalier_G; forme <= enuFormePièce.Barre; forme++)
            {
                target.m_objPieceCourante = target.FabriquerPiece(5, 5, forme);
                target.DessinerPieceCourante();

                for (int index = 0; index < target.m_objPieceCourante.NbPoints; index++)
                {
                    if (grille[target.m_objPieceCourante.PointAt(index).Rangée, target.m_objPieceCourante.PointAt(index).Colonne] != target.m_objPieceCourante.ImageIndex)
                    {
                        Assert.Fail();
                    }
                }
            }
            m_totalScore += 2;
        }
Пример #5
0
        public void C4_GrilleJeuEstEnCollisionTriangle()
        {
            m_maxScore += 1;

            GrilleTétris_Accessor target = new GrilleTétris_Accessor();
            GrilleTétris          grille = (GrilleTétris)target.Target;

            // ne devrait pas être en collision
            target.m_objPieceCourante = target.FabriquerPiece(1, 1, enuFormePièce.Triangle);
            Assert.IsFalse(target.EstEnCollision());

            // vérification de la limite de la grille en haut
            target.m_objPieceCourante = target.FabriquerPiece(0, 1, enuFormePièce.Triangle);
            Assert.IsTrue(target.EstEnCollision());

            // vérification de la limite de la grille à gauche
            target.m_objPieceCourante = target.FabriquerPiece(1, 0, enuFormePièce.Triangle);
            Assert.IsTrue(target.EstEnCollision());

            // vérification de la limite de la grille à droite
            target.m_objPieceCourante = target.FabriquerPiece(1, grille.ColumnCount - 1, enuFormePièce.Triangle);
            Assert.IsTrue(target.EstEnCollision());

            // vérification de la limite de la grille en bas
            target.m_objPieceCourante = target.FabriquerPiece(grille.RowCount, 1, enuFormePièce.Triangle);
            Assert.IsTrue(target.EstEnCollision());

            // vérification d'une collision avec le contenu de la grille
            target.m_objPieceCourante = target.FabriquerPiece(1, 1, enuFormePièce.Triangle);
            for (int index = 0; index < target.m_objPieceCourante.NbPoints; index++)
            {
                grille[target.m_objPieceCourante.PointAt(index).Rangée, target.m_objPieceCourante.PointAt(index).Colonne] = index % 7 + 50;// H16
                Assert.IsTrue(target.EstEnCollision());
                grille[target.m_objPieceCourante.PointAt(index).Rangée, target.m_objPieceCourante.PointAt(index).Colonne] = 0;
            }
            m_totalScore += 1;
        }
Пример #6
0
        public void C1_GrilleJeuFabriquerPiècesTriangle()
        {
            m_maxScore += 1;
            IPiece target;

            GrilleTétris_Accessor grille = new GrilleTétris_Accessor();

            //------------------------------------------------------------------------
            // on va tester la pièce : enuFormePièce.Triangle
            target = grille.FabriquerPiece(5, 10, enuFormePièce.Triangle);

            Assert.AreEqual(3, target.Taille.Width);
            Assert.AreEqual(2, target.Taille.Height);
            Assert.AreEqual(4, target.NbPoints);
            Assert.AreEqual(5, target.OrigineRangée);
            Assert.AreEqual(10, target.OrigineColonne);
            Assert.AreEqual((int)enuFormePièce.Triangle + 1, target.ImageIndex);

            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 9));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 10));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 11));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 10));
            m_totalScore++;
        }
Пример #7
0
        public void D4_GrilleJeuEstEnCollisionAutres()
        {
            m_maxScore += 6;

            GrilleTétris_Accessor target = new GrilleTétris_Accessor();
            GrilleTétris          grille = (GrilleTétris)target.Target;

            //Pour les 5 premières formes on a la même logique de tests
            for (enuFormePièce forme = enuFormePièce.Escalier_G; forme <= enuFormePièce.L_Inverse; forme++)
            {
                // ne devrait pas être en collision
                target.m_objPieceCourante = target.FabriquerPiece(1, 1, forme);
                Assert.IsFalse(target.EstEnCollision());

                // vérification de la limite de la grille en haut
                target.m_objPieceCourante = target.FabriquerPiece(0, 1, forme);
                Assert.IsTrue(target.EstEnCollision());

                // vérification de la limite de la grille à gauche
                target.m_objPieceCourante = target.FabriquerPiece(1, 0, forme);
                Assert.IsTrue(target.EstEnCollision());

                // vérification de la limite de la grille à droite
                target.m_objPieceCourante = target.FabriquerPiece(1, grille.ColumnCount - 1, forme);
                Assert.IsTrue(target.EstEnCollision());

                // vérification de la limite de la grille en bas
                target.m_objPieceCourante = target.FabriquerPiece(grille.RowCount, 1, forme);
                Assert.IsTrue(target.EstEnCollision());


                // vérification d'une collision avec le contenu de la grille
                target.m_objPieceCourante = target.FabriquerPiece(1, 1, forme);
                for (int index = 0; index < target.m_objPieceCourante.NbPoints; index++)
                {
                    grille[target.m_objPieceCourante.PointAt(index).Rangée, target.m_objPieceCourante.PointAt(index).Colonne] = index % 7 + 50;// H16;
                    Assert.IsTrue(target.EstEnCollision());
                    grille[target.m_objPieceCourante.PointAt(index).Rangée, target.m_objPieceCourante.PointAt(index).Colonne] = 0;
                }
                m_totalScore++;
            }

            //Forme enuFormePièce.Carre
            // ne devrait pas être en collision
            target.m_objPieceCourante = target.FabriquerPiece(1, 1, enuFormePièce.Carre);
            Assert.IsFalse(target.EstEnCollision());

            // vérification de la limite de la grille en haut
            target.m_objPieceCourante = target.FabriquerPiece(0, 1, enuFormePièce.Carre);
            Assert.IsTrue(target.EstEnCollision());

            // vérification de la limite de la grille à gauche
            target.m_objPieceCourante = target.FabriquerPiece(1, 0, enuFormePièce.Carre);
            Assert.IsTrue(target.EstEnCollision());

            // vérification de la limite de la grille à droite
            target.m_objPieceCourante = target.FabriquerPiece(1, grille.ColumnCount, enuFormePièce.Carre);
            Assert.IsTrue(target.EstEnCollision());

            // vérification de la limite de la grille en bas
            target.m_objPieceCourante = target.FabriquerPiece(grille.RowCount, 1, enuFormePièce.Carre);
            Assert.IsTrue(target.EstEnCollision());


            // vérification d'une collision avec le contenu de la grille
            target.m_objPieceCourante = target.FabriquerPiece(1, 1, enuFormePièce.Carre);
            for (int index = 0; index < target.m_objPieceCourante.NbPoints; index++)
            {
                grille[target.m_objPieceCourante.PointAt(index).Rangée, target.m_objPieceCourante.PointAt(index).Colonne] = 1;
                Assert.IsTrue(target.EstEnCollision());
                grille[target.m_objPieceCourante.PointAt(index).Rangée, target.m_objPieceCourante.PointAt(index).Colonne] = 0;
            }
            m_totalScore++;

            //Forme enuFormePièce.Barre
            // ne devrait pas être en collision
            target.m_objPieceCourante = target.FabriquerPiece(0, 1, enuFormePièce.Barre);
            Assert.IsFalse(target.EstEnCollision());

            // vérification de la limite de la grille en haut
            target.m_objPieceCourante = target.FabriquerPiece(-1, 1, enuFormePièce.Barre);
            Assert.IsTrue(target.EstEnCollision());

            // vérification de la limite de la grille à gauche
            target.m_objPieceCourante = target.FabriquerPiece(1, 0, enuFormePièce.Barre);
            Assert.IsTrue(target.EstEnCollision());

            // vérification de la limite de la grille à droite
            target.m_objPieceCourante = target.FabriquerPiece(1, grille.ColumnCount - 2, enuFormePièce.Barre);
            Assert.IsTrue(target.EstEnCollision());

            // vérification de la limite de la grille en bas
            target.m_objPieceCourante = target.FabriquerPiece(grille.RowCount, 1, enuFormePièce.Barre);
            Assert.IsTrue(target.EstEnCollision());


            // vérification d'une collision avec le contenu de la grille
            target.m_objPieceCourante = target.FabriquerPiece(1, 1, enuFormePièce.Barre);
            for (int index = 0; index < target.m_objPieceCourante.NbPoints; index++)
            {
                grille[target.m_objPieceCourante.PointAt(index).Rangée, target.m_objPieceCourante.PointAt(index).Colonne] = 1;
                Assert.IsTrue(target.EstEnCollision());
                grille[target.m_objPieceCourante.PointAt(index).Rangée, target.m_objPieceCourante.PointAt(index).Colonne] = 0;
            }
            m_totalScore++;
        }
Пример #8
0
        public void D1_GrilleJeuFabriquerPiècesAutres()
        {
            m_maxScore += 6;
            IPiece target;

            GrilleTétris_Accessor grille = new GrilleTétris_Accessor();

            //------------------------------------------------------------------------
            // on va tester la pièce : enuFormePièce.Barre
            target = grille.FabriquerPiece(5, 10, enuFormePièce.Barre);

            Assert.AreEqual(4, target.Taille.Width);
            Assert.AreEqual(1, target.Taille.Height);
            Assert.AreEqual(4, target.NbPoints);
            Assert.AreEqual(5, target.OrigineRangée);
            Assert.AreEqual(10, target.OrigineColonne);
            Assert.AreEqual((int)enuFormePièce.Barre + 1, target.ImageIndex);

            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 9));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 10));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 11));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 12));
            m_totalScore++;

            //------------------------------------------------------------------------
            // on va tester la pièce : enuFormePièce.Carre
            target = grille.FabriquerPiece(5, 10, enuFormePièce.Carre);

            Assert.AreEqual(2, target.Taille.Width);
            Assert.AreEqual(2, target.Taille.Height);
            Assert.AreEqual(4, target.NbPoints);
            Assert.AreEqual(5, target.OrigineRangée);
            Assert.AreEqual(10, target.OrigineColonne);
            Assert.AreEqual((int)enuFormePièce.Carre + 1, target.ImageIndex);

            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 9));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 10));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 9));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 10));
            m_totalScore++;

            //------------------------------------------------------------------------
            // on va tester la pièce : enuFormePièce.Escalier_D
            target = grille.FabriquerPiece(5, 10, enuFormePièce.Escalier_D);

            Assert.AreEqual(3, target.Taille.Width);
            Assert.AreEqual(2, target.Taille.Height);
            Assert.AreEqual(4, target.NbPoints);
            Assert.AreEqual(5, target.OrigineRangée);
            Assert.AreEqual(10, target.OrigineColonne);
            Assert.AreEqual((int)enuFormePièce.Escalier_D + 1, target.ImageIndex);

            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 9));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 10));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 10));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 11));
            m_totalScore++;

            //------------------------------------------------------------------------
            // on va tester la pièce : enuFormePièce.Escalier_G
            target = grille.FabriquerPiece(5, 10, enuFormePièce.Escalier_G);

            Assert.AreEqual(3, target.Taille.Width);
            Assert.AreEqual(2, target.Taille.Height);
            Assert.AreEqual(4, target.NbPoints);
            Assert.AreEqual(5, target.OrigineRangée);
            Assert.AreEqual(10, target.OrigineColonne);
            Assert.AreEqual((int)enuFormePièce.Escalier_G + 1, target.ImageIndex);

            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 9));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 10));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 10));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 11));
            m_totalScore++;

            //------------------------------------------------------------------------
            // on va tester la pièce : enuFormePièce.L_Normal
            target = grille.FabriquerPiece(5, 10, enuFormePièce.L_Normal);

            Assert.AreEqual(3, target.Taille.Width);
            Assert.AreEqual(2, target.Taille.Height);
            Assert.AreEqual(4, target.NbPoints);
            Assert.AreEqual(5, target.OrigineRangée);
            Assert.AreEqual(10, target.OrigineColonne);
            Assert.AreEqual((int)enuFormePièce.L_Normal + 1, target.ImageIndex);

            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 9));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 9));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 10));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 11));
            m_totalScore++;

            //------------------------------------------------------------------------
            // on va tester la pièce : enuFormePièce.L_Inverse
            target = grille.FabriquerPiece(5, 10, enuFormePièce.L_Inverse);

            Assert.AreEqual(3, target.Taille.Width);
            Assert.AreEqual(2, target.Taille.Height);
            Assert.AreEqual(4, target.NbPoints);
            Assert.AreEqual(5, target.OrigineRangée);
            Assert.AreEqual(10, target.OrigineColonne);
            Assert.AreEqual((int)enuFormePièce.L_Inverse + 1, target.ImageIndex);

            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 9));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 10));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 4, 11));
            Assert.IsTrue(CoordonnéesValidesDuPoint(target, 5, 11));
            m_totalScore++;
        }