Форум программистов, компьютерный форум, киберфорум
Наши страницы
Boost C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Kronos0041
2 / 2 / 1
Регистрация: 18.03.2014
Сообщений: 147
1

Boost Unit тесты

15.03.2015, 07:57. Просмотров 667. Ответов 2
Метки нет (Все метки)

пытаюсь создать тест, но выходят ошибки линковщика. Где я неправильно линкую? Перед этим переименовал некоторые функции в zad1.h, ну и удалил некоторые функции тоже.

C++
1
2
2>task1_test.obj : error LNK2001: неразрешенный внешний символ ""void __cdecl ProcessVector(class std::vector<double,class std::allocator<double> > &,class std::vector<double,class std::allocator<double> > &)" (?ProcessVector@@YAXAAV?$vector@NV?$allocator@N@std@@@std@@0@Z)"
2>task1_test.obj : error LNK2001: неразрешенный внешний символ ""void __cdecl SortVectorAscending(class std::vector<double,class std::allocator<double> > &)" (?SortVectorAscending@@YAXAAV?$vector@NV?$allocator@N@std@@@std@@@Z)"
zad1.h
C++
1
2
3
4
5
6
7
8
#pragma once
 
#include "stdafx.h"
 
void SortVectorAscending(vector <double> &Values);
void ReadingVector(vector <double> &Values);
void ProcessVector(vector <double> &Numbers, vector <double> &Result);
void ShowVector(vector <double> &Numbers);
task1_test.cpp
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
//TestBoost.cpp: определяет точку входа для консольного приложения.
 
 
#include "stdafx.h"
#include "../zadanie1/zad1.h"
 
BOOST_AUTO_TEST_CASE(VectorMultiplyOnMinimalElementWithoutError)
{
    vector <double> Numbers = { 1.123, 12.1321, 14.12311 };
    vector <double> MinMultiplyNumbers(3);  
    for (size_t i = 0; i < Numbers.size(); i++)
    {
        MinMultiplyNumbers[i] = Numbers[i] * 1.123;
    }
    vector <double> Results;
    ProcessVector(Numbers, Results);
    BOOST_CHECK(lexicographical_compare(Numbers.begin(), Numbers.end(), Results.begin(), Results.end()));
}
 
BOOST_AUTO_TEST_CASE(VecotIsSorted)
{
    vector <double> Numbers = { 1.123, 1.321, 0.512, 7.12, 1.5, };
    SortVectorAscending(Numbers);
    BOOST_CHECK(Numbers == vector <double>({ 0.512, 1.123, 1.321, 1.5, 7.12}));
}
zadanie.cpp

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
#include "stdafx.h"
#include <boost/chrono.hpp>
#include "zad1.h"
 
void SortVectorAscending(vector <double> &Values)
{
    sort(Values.begin(), Values.end());
}
 
void ReadingVector(vector <double> &Values)
{
    copy(istream_iterator<double>(cin), istream_iterator<double>(), back_inserter(Values));
}
 
void ShowVector(vector <double> &Numbers)
{
    copy(Numbers.begin(), Numbers.end(), ostream_iterator<double>(cout, ", "));
}
 
void ProcessVector(vector <double> &Numbers, vector <double> &Result)
{
    for (
        vector<double>::const_iterator it = Numbers.begin();
        it != Numbers.end();
        ++it
        )
    {
        Result.push_back(*it * *min_element(Numbers.begin(), Numbers.end()));
    }
}
 
int main()
{
    vector <double> Numbers;
    vector <double> Result;
    ReadingVector(Numbers);
    /*assert(Numbers.empty());*/
    SortVectorAscending(Numbers);
    printf("\n");
    cout << "sorted source massive: ";
    ShowVector(Numbers);
    printf("\n");
    cout << "Size Source vector: " << Numbers.size() << endl;
    ProcessVector(Numbers, Result);
    cout << "result massive after mupltiplication minimal digit on different: ";
    ShowVector(Result);
    printf("\n");
    cout << "Size Result vector: " << Result.size() << endl;
    getchar();
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2015, 07:57
Ответы с готовыми решениями:

Boost начало работы: Undefined reference to `boost::system::generic_category() '
Добрый день Собственно говоря возникла необходимость использовать boost в...

Boost Log - undefined reference to `boost::system::system_category()'
Пытаюсь скомпилировать код из примеров Boost Log:#include...

Использование boost и boost.build с несколькими компиляторами
Здравствуйте! Собрал библиотеку boost и boost.build для двух компиляторов:...

Метапрограммирование в boost::proto (boost::spirit)
В библиотеке boost:: proto есть такой код ...

Qt и boost boost::system::generic_category()
Добрый день Не подскажите как настроить Qt на работу с boost? У меня в...

2
ForEveR
В астрале
Эксперт С++
8002 / 4760 / 653
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
16.03.2015, 10:24 2
Kronos0041, Буст тут вообще ни при делах. Разнесите main и реализацию функций по разным файлам, соберите zad1.h и реализацию в библиотеку, линкуйте при сборке тестовой программы и общей программы.
1
Kronos0041
2 / 2 / 1
Регистрация: 18.03.2014
Сообщений: 147
17.03.2015, 18:37  [ТС] 3
уже решил проблему
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2015, 18:37

boost::geometry::model::box и boost::geometry::area
Здравствуйте! Пытаюсь измерить площадь box'a :D, но не знаю как правильно это...

С++ Unit Test (модульное тестирование)
Вопроса по сути два. 1. что используете для модульного тестирования и почему...

Юнит-тесты для C++
Уважаемые дамы и господа! Интересует, пользовались вы какими-нибудь...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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