Форум программистов, компьютерный форум CyberForum.ru

Модульный тест - C++

Восстановить пароль Регистрация
 
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
14.11.2010, 00:06     Модульный тест #1
Привет. Почему функция bin_search не проходит тест? тестировал отдельно - результаты вроде верные
а когда запускаю UnitTest то пишет filed filed filed.....

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
 
using namespace std;
 
int bin_search(int arr[], int size, int key){
    int first = 0;
    int last = size;
 
    while (first < last){
        int middle = (first + last) / 2;
        (key <= arr[middle] ) ? last = middle : first = middle + 1;
    }
    return (arr[last] == key) ? last : -1;
}
 
const int MAX = 10;
 
class TestCase{
    public:
    int data[MAX];
    int size;
    int key;
    int res;
};
 
TestCase test_data[] = {  {(1,2,3,4,5,6), 6, 5, 4},
                       {   (12,17,18,40), 4, 100, -1},
                       {   (1,2,3,4,5,6,7,8), 8, 1, 0},
};
 
bool UnitTest() {
  bool unit_test_success = true;
  for(int i = 0; i < sizeof(test_data)/sizeof(test_data[0]); ++i)
    if (bin_search(test_data[i].data,   test_data[i].size,  test_data[i].key) != test_data[i].res) {
      unit_test_success = false;
      cout << "Test " << i << " failed." << endl;
    }
  return unit_test_success;
}
 
 
int main()
{
 
 
  if (UnitTest())
 
    cout << "Unit test: OK" << endl;
 
   else
    cout << "Unit test: FAILED" << endl;
 
 
   // int arr[6] = {1,4,7,9,14,50};
   // cout << bin_search(arr, 6, 7);
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2010, 00:06     Модульный тест
Посмотрите здесь:

C++ Тест по С++
C++ Обмен информацией с файлами и модульный принцип программирования
Тест на C++ C++
Тест по С++ C++
Тест по C++ C++
Модульный принцип программирования. Подпрограммы C++
Как написать модульный тест для функции main C++
C++ Тест по С++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raizer
 Аватар для Raizer
5 / 5 / 1
Регистрация: 11.10.2009
Сообщений: 24
14.11.2010, 00:17     Модульный тест #2
Наверное все дело в том что в вашем массиве test_data[] все элементы имеют нулевые значения.
Проверьте это при помощи метода вывода данных содержащихся в классе на дисплей.
Это связано скорее всего с тем что вы неправильно инициализируете свой массив объектов.
Mr.X
Эксперт С++
 Аватар для Mr.X
2798 / 1574 / 246
Регистрация: 03.05.2010
Сообщений: 3,651
15.11.2010, 02:30     Модульный тест #3
PointsEqual, в строках 26 - 28 круглые скобки нужно заменить на фигурные.
Yandex
Объявления
15.11.2010, 02:30     Модульный тест
Ответ Создать тему
Опции темы

Текущее время: 10:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru