Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1
Добавлен:
30.05.2020
Размер:
3.44 Кб
Скачать
//Проект "Электронная доска для иглы в шашки".
//Драйвер для тестирования подпрограммы
//int TField::Eat(int i1, int i2, int i3)
#include<iostream.h>
#include<conio.h>
#include<graphics.h>
#include"draught.h"

void OutputNumberTest(int Number)
{cout <<"------- Тест № " << Number << endl;}

//Подпрограмма сравнения результатов
//с ожидаемыми значениями
void OutputResults(//ожидаемые значения
int CenterX1,int CenterY1, //координаты съедающей шашки
TSqState Sq1,//состояние клетки, на которую шагнули
TSqState Sq2,//состояние клетки с которой съели
TSqState Sq3,//состояние клетки с которой шагнули
TDrState Dr,//состояние шашки, которую съедаем
int theCenterX1,int theCenterY1, TSqState theSq1,TSqState theSq2, TSqState theSq3,TDrState theDr)//результаты
 {cout <<"Результаты теста:"<<endl;
  cout <<"Координаты шашки съевшей:"<<endl;
  if ((CenterX1!=theCenterX1)||(CenterY1!=theCenterY1))
 cout << "ОШИБКА !";
 cout <<" Факт " << theCenterX1 << "; ожидается " << CenterX1 << endl;
cout <<" Факт " << theCenterY1 << "; ожидается " << CenterY1 << endl;
cout <<"Состояние клетки, на которую шагнули:"<<endl;
  if (Sq1!=theSq1)
 cout << "ОШИБКА !";
 cout <<" Факт " << theSq1 << "; ожидается " << Sq1<< endl;
cout <<"Cостояние клетки, с которой съели:"<<endl;
  if (Sq2!=theSq2)
 cout << "ОШИБКА !";
 cout <<" Факт " << theSq2 << "; ожидается " << Sq2 << endl;
cout <<"Cостояние клетки с которой шагнули:"<<endl;
  if (Sq3!=theSq3)
 cout << "ОШИБКА !";
 cout <<" Факт " << theSq3 << "; ожидается " << Sq3 << endl;
cout <<"Cостояние шашки, которую съедаем:"<<endl;
  if (Dr!=theDr)
 cout << "ОШИБКА !";
 cout <<" Факт " << theDr << "; ожидается " << Dr << endl;
}
//Подпрограмма исполнения отдельного теста
void Testing//ожидаемые координаты и состояния клеток и шашек
(int CenterX1,int CenterY1, TSqState Sq3,//шашка, котороя ест
 TSqState Sq1,//шашкa,на которую идем
TSqState Sq2,TDrState Dr,//шашкa,кторую едим
i1,i2,i3)
{
Tfield *theField;
TheField=new Tfield;
//Вывод входных данных в листинг
cout<<"Входне данные:"<<endl;
cout<<"Координаты шашки,кот. съест:"
<<PDraught[i1]->theCenterX<<","<<PDraught[i1]->CenterY<<endl;
cout<<"Состояние клетки,на кот. шагнут:"<<Psquare[i2]-theSqState<<endl;
cout<<"Cостояние клетки,с которой съедим:"<<Psquare[i3]->theSqState<<endl;
int m=Find(PDraught[i1]-theCenterX,PDraught[i1]->theCenterY,1);
cout<<"Cостояние клетки,с которой шагнем:"<<Psquare[m]->theSqState<<endl;
m=Find(Psquare[i3]-theCenterX,Psquare[i3]->theCenterY,2);
cout<<"Cостояние шашки,которую съедим:"<<PDraught[m]->theState<<endl;
Eat(i,i2,i3);
OutputResults(int CenterX1,int CenterY1, TSqState Sq3, TSqState Sq1,
TSqState Sq2,TDrState Dr, PDraught[i1]->theCenterX,PDraught[i1]->CenterY, Psquare[i2]-theSqState, Psquare[i3]->theSqState, Psquare[m]->theSqState, PDraught[m]->theState);
Delete theField;}
//Головная программа драйвера
int main()
 { //Заголовок
 cout << "Тестирование подпрограммы" << endl;
 cout <<
 "void TField::Eat(int i1, int i1, int i3)" <<endl<<endl;
 // установить графический режим для дисплея
 int gdriver = DETECT, gmode, errorcode;
 initgraph(&gdriver,&gmode,"\\Langs\\bc\\bgi");
 //Реализация тестов
 //Тест 1
OutputNumberTest(1); 
Testing(250,150,Empty,First,Empty,stOutField,11,18,14);
 getch();
 //Тест 2
 OutputNumberTest(2);
Testing(250,150,Empty,Second,Empty,stOutField,11,18,14);
getch();
 closegraph();
 return 0;}
Соседние файлы в папке kurs