Методические указания Ухта 2006 удк 681 06(076) г 23

Вид материалаМетодические указания

Содержание


Приложение 3. Текст тестирующей класс MyString программы
Подобный материал:
1   2   3   4   5   6

Приложение 3. Текст тестирующей класс MyString программы



//---------------------------------------------------------------------------


#include

#pragma hdrstop


#include "MyString.h"

#include "MyString.cpp"

#include "StringTest.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"


TStrtest *Strtest;

//--------------------------------------------------------------------

__fastcall TStrtest::TStrtest(TComponent* Owner)

: TForm(Owner)

{

int i;

char Bs[31] = " Привет от старых штиблет. ";

MyString Qu = MyString(200);

MyString LittleStr = MyString(1);

MyString Fs = MyString (" Моя первая строка. ");

MessageDlg (" Инициализация Fs >"+Fs+"< ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

MyString St = Fs;

MessageDlg (" Инициализация St строкой Fs : \r"+St,

mtInformation, TMsgDlgButtons() << mbOK, NULL);

MyString Yu = MyString (" Моя вторая строка. ++++");

MessageDlg (" строка Yu >"+Yu+"< ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

St = Fs + Yu;

MessageDlg (" Конкатенация строк Fs и Yu :\r"+St+"< ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

Qu = Fs;

MessageDlg (" Присвоение строки Fs строке Qu \r"+St+"< ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

if (Qu == Fs)

MessageDlg (" Проверка операции сравнения: Строки равны. ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

else

MessageDlg (" Проверка операции сравнения: Строки НЕ равны. ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

MessageDlg (" Длина строки LittleStr до присвоения : "+

IntToStr(LittleStr.LenMyStr())+

"\r Размер строки LittleStr до присвоения : "+

IntToStr(LittleStr.MyStrSize()),

mtInformation, TMsgDlgButtons() << mbOK, NULL);

LittleStr = Fs;

MessageDlg (" Присвоение строки Fs строке LittleStr \r"+LittleStr+"< ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

MessageDlg (" Длина строки LittleStr после присвоения : "+

IntToStr(LittleStr.LenMyStr())+

"\r Размер строки LittleStr после присвоения : "+

IntToStr(LittleStr.MyStrSize()),

mtInformation, TMsgDlgButtons() << mbOK, NULL);

if (LittleStr == Qu)

MessageDlg (" Проверка операции сравнения: LittleStr и Qu : Строки равны. ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

else

MessageDlg (" Проверка операции сравнения: Строки НЕ равны. ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

St = Bs;

if (St < Fs)

MessageDlg (" Проверка операции \"меньше\": St меньше Fs. ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

else

MessageDlg (" Проверка операции \"меньше\": St НЕ меньше Fs. ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

if (Fs < St)

MessageDlg (" Проверка операции \"меньше\": Fs меньше St. ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

else

MessageDlg (" Проверка операции \"меньше\": Fs НЕ меньше St. ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);


MessageDlg (" Присвоение строке St строки типа char \r"+St,

mtInformation, TMsgDlgButtons() << mbOK, NULL);

St = " Последующие присвоения, к моему удивлению, также работают. ";

MessageDlg (" Присвоение строке St строки типа char \r"+St,

mtInformation, TMsgDlgButtons() << mbOK, NULL);

MessageDlg (" Длина строки : "+IntToStr(St.LenMyStr()), mtInformation,

TMsgDlgButtons() << mbOK, NULL);

MessageDlg (" Далее проверка операции конкатенация для типа char ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

Yu = St + " надо сложить вместе. ";

MessageDlg (Yu, mtInformation,

TMsgDlgButtons() << mbOK, NULL);

Yu = " должно работать. ";

St = " Следующее присваивание" + Yu;

MessageDlg (St, mtInformation,

TMsgDlgButtons() << mbOK, NULL);

MessageDlg (" Далее проверка операции инкремент ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

++St;

MessageDlg (St, mtInformation,

TMsgDlgButtons() << mbOK, NULL);

Yu++;

MessageDlg (Yu, mtInformation,

TMsgDlgButtons() << mbOK, NULL);

MessageDlg (" Проверка Substr : "+St.Substr(1,5),

mtInformation, TMsgDlgButtons() << mbOK, NULL);

MessageDlg (" Проверка Substr : "+St.Substr(1,7),

mtInformation, TMsgDlgButtons() << mbOK, NULL);

MessageDlg (" Проверка Substr : "+St.Substr(3,7),

mtInformation, TMsgDlgButtons() << mbOK, NULL);

MessageDlg (" Далее проверка операции []. ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

MessageDlg (" Раскручиваем строку St > "+St+"< ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);

for (i = 1; i <= St.LenMyStr(); i++)

MessageDlg (" St["+IntToStr(i)+"] = :"+St[i]+": ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);


}

//---------------------------------------------------------------------------

+St[i]+": ",

mtInformation, TMsgDlgButtons() << mbOK, NULL);


}

//---------------------------------------------------------------------------