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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
#1

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

14.11.2010, 00:06. Просмотров 450. Ответов 2
Метки нет (Все метки)

Привет. Почему функция 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     Модульный тест
Посмотрите здесь:

Как написать модульный тест для функции main - C++
имеется функция нахождения максимального из трех целых чисел int main() { int a, b, c, mx; printf (&quot;Insert numbers:\n&quot;); ...

Модульный принцип программирования. Подпрограммы - C++
я вообще зеленый Олень в этом деле,поэтому прошу помощи.:wall: #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;alloc.h&gt; void...

Обмен информацией с файлами и модульный принцип программирования - C++
Модифицировать данную программу используя потоки файлового ввода / вывода для считывания входящей информации из одного файла и записи...

Тест по С++ - C++
Здравствуйте!Помогите,пожалуйста, с решением теста по С++, ответы мне нужны до утра 7. What is correct about virtual function? Select...

Тест по c++ - C++
Помогите зарешать тест, буду признателен

C++ тест - C++
здравствуйте,извините за беспокойство.нужно написать программу-тест на с++,вопрос вот в чем: как сделать так,чтобы вопросы в тесте...

Тест на C++ - C++
Здравствуйте. Кто-нибудь может подсказать как сделать окно приветствия в ООП. Придётся несколько форм создавать, да?? и как их между собой...

тест по С++ - C++
Всем привет! завтра у меня будет тест по С++(проходили мы его ровно один семестр) . Какие разделы разделы следует повторить ? Просто все...

Тест по С++ - C++

Тест! - C++
Помогите пожалуйста с тестом. Есть тест состоит из трех текстовых файлов 1: Вопросы 2: Ответы 3: Результат. Нужно что бы он был без...

Тест - C++
1. Выберите правильный вариант. А) целые – int, вещественные – float или double, символьные – char Б) целые – int, вещественные – float...

Тест в С++ - C++
Как сделать что бы выдавал результат по общим ответам..ну 100-90% правильно то оценка 5 и т.д. ??? проблемный кусок ниже выделил ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru