public void F2_SupprimerLignesPleines() { m_maxScore += 10; GrilleTétris target; //---------------------------------------------------------------------- // LE CODE CI-DESSOUS VA VÉRIFIER LA SUPPRESSION DES LIGNES target = new GrilleTétris(); int colMilieu = target.ColumnCount / 2; for (int row = 0; row < target.RowCount; row++) { if (row % 2 != 0) // rangée impaire, incomplète { target[row, colMilieu] = row; } else // rangée paire alors elle sera pleine { for (int col = 0; col < target.ColumnCount; col++) { target[row, col] = row; } } } target.SupprimerLignesPleines(); // on va vérifier que les lignes pleines ont étés supprimées for (int row = 0; row < target.RowCount; row++) { if (target[row, colMilieu] != 0 && target[row, colMilieu] % 2 == 0) { Assert.Fail(); } } m_totalScore += 5; //------------------------------------------------------------------------------- Placer3LignesPleines(target); target.SupprimerLignesPleines(); // on va vérifier que les trois dernières lignes ont été supprimées for (int row = 0; row < target.RowCount; row++) { if (row < 3) { if (target[row, colMilieu] != 0) { Assert.Fail(); } } else if (target[row, colMilieu] != row - 3) { Assert.Fail(); } } m_totalScore += 5; }
public void F1_SupprimerLaLigne() { m_maxScore += 6; GrilleTétris target; //---------------------------------------------------------------------- // LE CODE CI-DESSOUS VA VÉRIFIER LA SUPPRESSION DE LA DERNIÈRE LIGNE target = new GrilleTétris(); // on va placer des nombres dans une diagonale for (int index = 0; index < target.RowCount; index++) { target[index, index] = index + 1; } // on va supprimer la dernière ligne target.SupprimerLaLigne(target.RowCount - 1); // on va vérifier les nombres de la diagonales Assert.IsTrue(target[0, 0] == 0); for (int index = 0; index < target.RowCount - 1; index++) { Assert.IsTrue(target[index + 1, index] == index + 1); } m_totalScore += 3; //---------------------------------------------------------------------- // LE CODE CI-DESSOUS VA VÉRIFIER LA SUPPRESSION DE LA LIGNE DU MILIEU target = new GrilleTétris(); // on va placer des nombres dans une diagonale for (int index = 0; index < target.RowCount; index++) { target[index, index] = index + 1; } // on va supprimer la ligne du mileu target.SupprimerLaLigne(target.RowCount / 2); // on va vérifier les nombres de la diagonales Assert.IsTrue(target[0, 0] == 0); for (int index = 0; index < target.RowCount / 2; index++) { Assert.IsTrue(target[index + 1, index] == index + 1); } for (int index = target.RowCount / 2 + 1; index < target.RowCount; index++) { Assert.IsTrue(target[index, index] == index + 1); } m_totalScore += 3; //---------------------------------------------------------------------- }
//---------------------------------------------------------------------- private void Placer3LignesPleines(GrilleTétris pGrille) { // maintenant on va supprimer les trois dernières lignes qui seront pleines int colMilieu = pGrille.ColumnCount / 2; for (int row = 0; row < pGrille.RowCount; row++) { if (row >= pGrille.RowCount - 3) { for (int col = 0; col < pGrille.ColumnCount; col++) { pGrille[row, col] = row; } } else { pGrille[row, colMilieu] = row; } } }
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; }
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; }
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; }
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; }
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; }
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++; }
public void ProgressionTest() { GrilleTétris grille = new GrilleTétris(); Assert.Fail(); }