refacturing

This commit is contained in:
Martin Brodbeck 2018-07-12 14:39:08 +02:00
parent 051ed3e730
commit 2fb72f1701
6 changed files with 60 additions and 15 deletions

View file

@ -11,3 +11,7 @@ add_test(NAME Article COMMAND ${CMAKE_BINARY_DIR}/bin/test_article)
add_executable(test_database test_database.cpp)
target_link_libraries(test_database core Boost::unit_test_framework stdc++fs)
add_test(NAME Database COMMAND ${CMAKE_BINARY_DIR}/bin/test_database)
add_executable(test_sale test_sale.cpp)
target_link_libraries(test_sale core Boost::unit_test_framework)
add_test(NAME Sale COMMAND ${CMAKE_BINARY_DIR}/bin/test_sale)

33
test/test_sale.cpp Normal file
View file

@ -0,0 +1,33 @@
#define BOOST_TEST_MODULE sale
#include "../src/core/sale.h"
#include <vector>
#include <boost/test/included/unit_test.hpp>
BOOST_AUTO_TEST_CASE(articles_sum)
{
const int NUM_ARTICLES = 30;
Seller seller("Max", "Mustermann", 1, NUM_ARTICLES);
std::vector<std::shared_ptr<Article>> articles{};
Sale sale{};
for(int i = 0; i < NUM_ARTICLES; ++i)
{
auto art = std::make_shared<Article>();
art->setPrice((i+1) * 10);
articles.push_back(art);
seller.addArticle(art);
}
for(int i = 0; i < 10; ++i)
{
sale.addArticle(articles.at(i));
}
BOOST_TEST(sale.sumInCents() == 550);
BOOST_TEST(seller.getArticles(true).size() == 10);
}

View file

@ -34,6 +34,6 @@ BOOST_AUTO_TEST_CASE(with_article) {
auto article = std::make_shared<Article>();
article->setDescription("Test article");
seller.addArticle(article);
BOOST_TEST(seller.getArticles().at(0)->getDescription() == "Test article");
BOOST_TEST(seller.soldArticles() == 0);
BOOST_TEST(seller.getArticles(false).at(0)->getDescription() == "Test article");
BOOST_TEST(seller.numArticlesSold() == 0);
}