blob: bfc8219df358e65b8e1c554b9b6dd3e2933553fc [file] [log] [blame]
Alexander Afanasyev2aa39622014-01-22 11:51:11 -08001/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
Davide Pesavento5cc706c2018-01-20 19:24:04 -05002/*
3 * Copyright (c) 2014-2018, Regents of the University of California,
4 * Arizona Board of Regents,
5 * Colorado State University,
6 * University Pierre & Marie Curie, Sorbonne University,
7 * Washington University in St. Louis,
8 * Beijing Institute of Technology,
9 * The University of Memphis.
Alexander Afanasyev9bcbc7c2014-04-06 19:37:37 -070010 *
11 * This file is part of NFD (Named Data Networking Forwarding Daemon).
12 * See AUTHORS.md for complete list of NFD authors and contributors.
13 *
14 * NFD is free software: you can redistribute it and/or modify it under the terms
15 * of the GNU General Public License as published by the Free Software Foundation,
16 * either version 3 of the License, or (at your option) any later version.
17 *
18 * NFD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
19 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
20 * PURPOSE. See the GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License along with
23 * NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
Steve DiBenedetto3a4f83d2014-06-02 14:58:54 -060024 */
Alexander Afanasyev2aa39622014-01-22 11:51:11 -080025
Junxiao Shid9ee45c2014-02-27 15:38:11 -070026// #include "unit-under-test.hpp"
Davide Pesavento5cc706c2018-01-20 19:24:04 -050027// The unit being tested MUST be included first, to ensure the header compiles on its own.
Spyridon Mastorakisd0381c02015-02-19 10:29:41 -080028// For further information about test naming conventions, see
Davide Pesavento5cc706c2018-01-20 19:24:04 -050029// https://redmine.named-data.net/projects/nfd/wiki/UnitTesting
Alexander Afanasyev2aa39622014-01-22 11:51:11 -080030
Junxiao Shid9ee45c2014-02-27 15:38:11 -070031#include "tests/test-common.hpp"
Alexander Afanasyev2aa39622014-01-22 11:51:11 -080032
Davide Pesavento5cc706c2018-01-20 19:24:04 -050033// Unit tests SHOULD go inside nfd::tests namespace.
Junxiao Shid9ee45c2014-02-27 15:38:11 -070034namespace nfd {
35namespace tests {
Junxiao Shid9ee45c2014-02-27 15:38:11 -070036
37// Test suite SHOULD use BaseFixture or a subclass of it.
38BOOST_FIXTURE_TEST_SUITE(TestSkeleton, BaseFixture)
39
40BOOST_AUTO_TEST_CASE(Test1)
Alexander Afanasyev2aa39622014-01-22 11:51:11 -080041{
42 int i = 0;
Spyridon Mastorakisd0381c02015-02-19 10:29:41 -080043
44 // For reference of available Boost.Test macros, see
Davide Pesavento5f35f642018-05-10 19:36:03 -040045 // https://www.boost.org/doc/libs/1_58_0/libs/test/doc/html/utf/testing-tools/reference.html
Alexander Afanasyev2aa39622014-01-22 11:51:11 -080046
Davide Pesavento5cc706c2018-01-20 19:24:04 -050047 BOOST_CHECK_EQUAL(i, 0);
48 BOOST_CHECK_GT(++i, 0);
Alexander Afanasyev2aa39622014-01-22 11:51:11 -080049}
50
Junxiao Shid9ee45c2014-02-27 15:38:11 -070051// Custom fixture SHOULD derive from BaseFixture.
52class Test2Fixture : protected BaseFixture
53{
54};
55
56BOOST_FIXTURE_TEST_CASE(Test2, Test2Fixture)
57{
Davide Pesavento5cc706c2018-01-20 19:24:04 -050058 // g_io is a shorthand of getGlobalIoService().
59 // resetGlobalIoService() is automatically called after each test case.
Junxiao Shid9ee45c2014-02-27 15:38:11 -070060 g_io.run();
61}
62
Alexander Afanasyev2aa39622014-01-22 11:51:11 -080063BOOST_AUTO_TEST_SUITE_END()
Junxiao Shid9ee45c2014-02-27 15:38:11 -070064
65} // namespace tests
66} // namespace nfd