//Добавить строки данных
//----------------------
System.Text.StringBuilder buildTestString;
buildTestString = new System.Text.StringBuilder();
for (int addItemsCount = 0; addItemsCount < DUMMY_ROWS_OF_DATA; addItemsCount++) {
//Выбрать день отъезда пассажира
m_data_travelDates[addItemsCount] = System.DateTime.Today.AddDays(addItemsCount);
//---------------------
//Выбрать имя пассажира
//---------------------
//Очистить строку
buildTestString.Length = 0;
buildTestString.Append("TestPersonName");
buildTestString.Append(addItemsCount);
m_data_names[addItemsCount] = buildTestString.ToString();
//-------------------------------------------------------
//Связать с пассажиром текстовый номер кредитной карточки
//-------------------------------------------------------
//Строка значения третьего столбца набора данных
buildTestString.Length = 0;
buildTestString.Append("IvoCard-000-000-0000-");
buildTestString.Append(addItemsCount);
m_data_creditCards[addItemsCount] = buildTestString.ToString();
}
//Добавить элемент, поиск которого мы хотим выполнить в нашем тесте...
//Выбрать день для значения в первом столбце данных
m_data_travelDates[DUMMY_ROWS_OF_DATA] = System.DateTime.Today;
//Строка для второго столбца данных
m_data_names[DUMMY_ROWS_OF_DATA] = "Ms. TestPerson";
//Строка с идентификатором кредитной карточки
m_data_creditCards[DUMMY_ROWS_OF_DATA] = ТЕST_CRE DIT_CARD;
} //Конец функции
//-----------------
//Выполнить тест...
//-----------------
void changeDayOfTravel_test() {
//Отобразить курсор ожидания
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
//Начать с известной даты...
System.DateTime newDate;
newDate = System.DateTime.Today;
changeDayOfTravel_CustomArrays(ТЕST_CREDIT_CARD, newDate);
//ТОЛЬКО В ЦЕЛЯХ ТЕСТИРОВАНИЯ!!!
//HE СЛЕДУЕТ использовать вызовы сборщика мусора в готовом программном
//коде. Это ЗАМЕДЛЯЕТ работу приложения.
System.GC.Collect();
const int testNumber = 0;
//Запустить таймер теста
PerformanceSampling.StartSample(testNumber, "Custom Array implementation");
//Запустить тест!
for(int testCount = 0; testCount < NUMBER_TEST_ITERATIONS; testCount++) {
//Передвинуть дату вперед на один день
newDate = newDate.AddDays(1);
int numberRecordsChanged = 0;
//Просмотреть все имена, используя СТРОКИ
numberRecordsChanged = changeDayOfTravel_CustomArrays(TEST_CREDIT_CARD, newDate);
//Убедиться в нормальном выполнении теста...
if (numberRecordsChanged != 1) {
System.Windows.Forms.MessageBox.Show("No matching records found. Test aborted!");
return;
}
}
//Получить время выполнения теста
PerformanceSampling.StopSample(testNumber);
//Обычный курсор
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
//Отобразить результаты теста
string runInfo = NUMBER_TEST_ITERATIONS.ToString() + "x" +
DUMMY_ROWS_OF_DATA.ToString() + ": ";
System.Windows.Forms.MessageBox.Show(runInfo +
PerformanceSampling.GetSampleDurationText(testNumber));
}
private int changeDayOfTravel_CustomArrays(string creditCardNumber, System.DateTime newTravelDate) {
int numberRecordsChanged = 0;
//Просмотреть каждый элемент массива
for (int index = 0; index <= DUMMY_ROWS_OF_DATA; index++) {
string currentCreditCard;
currentCreditCard = m_data_creditCards[index];
//Обновить запись при наличии совпадения
if (creditCardNumber == currentCreditCard) {
//Изменить дату поездки
System.DateTime currentTravelDate = m_data_travelDates[index];