A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
box-line-intersection-test.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2020 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 */
18
19#ifndef BOX_LINE_INTERSECTION_TEST_H
20#define BOX_LINE_INTERSECTION_TEST_H
21
22#include <ns3/box.h>
23#include <ns3/test.h>
24#include <ns3/vector.h>
25
26using namespace ns3;
27
28/**
29 * \brief Test suite for
30 *
31 * \sa ns3::BoxLineIntersectionTestSuite
32 */
34{
35 public:
36 /**
37 * Constructor
38 */
40};
41
42/**
43 * \brief TestCase to check the box line intersection
44 */
46{
47 public:
48 /**
49 * \brief Create BoxLineIntersectionTestCase
50 * \param indexPos1 Index of the first position to generate
51 * \param indexPos2 Index of the second position to generate
52 * \param box The 3D box
53 * \param intersect The expected result of the test. True for intersection,
54 * false otherwise
55 */
56 BoxLineIntersectionTestCase(uint16_t indexPos1, uint16_t indexPos2, Box box, bool intersect);
57 /**
58 * \brief Builds the test name string based on provided parameter values
59 * \param indexPos1 Index of the first position to generate
60 * \param indexPos2 Index of the second position to generate
61 * \param box The 3D box
62 * \param intersect The expected result of the test. True for intersection,
63 * false otherwise
64 *
65 * \return The name string
66 */
67 std::string BuildNameString(uint16_t indexPos1, uint16_t indexPos2, Box box, bool intersect);
68 /**
69 * Destructor
70 */
72
73 private:
74 /**
75 * \brief Setup the simulation according to the configuration set by the
76 * class constructor, run it, and verify the result.
77 */
78 void DoRun() override;
79 /**
80 * \brief Create the position as per the given index
81 *
82 * \param index The index of the position to be created
83 * \param boxHeight The height if the box. It is used to place the position
84 * above the height of the box
85 * \returns The ns-3 3D Vector specifying the position
86 */
87 Vector CreatePosition(uint16_t index, double boxHeight);
88
89 uint16_t m_indexPos1{0}; //!< First position index
90 uint16_t m_indexPos2{0}; //!< Second position index
91 Box m_box; //!< The box to check the intersection with
92 bool m_intersect{false}; /**< Flag to indicate the intersection.
93 * True, for intersection, false otherwise.
94 */
95};
96
97#endif /* BOX_LINE_INTERSECTION_TEST_H */
TestCase to check the box line intersection.
uint16_t m_indexPos2
Second position index.
uint16_t m_indexPos1
First position index.
void DoRun() override
Setup the simulation according to the configuration set by the class constructor, run it,...
std::string BuildNameString(uint16_t indexPos1, uint16_t indexPos2, Box box, bool intersect)
Builds the test name string based on provided parameter values.
bool m_intersect
Flag to indicate the intersection.
Vector CreatePosition(uint16_t index, double boxHeight)
Create the position as per the given index.
~BoxLineIntersectionTestCase() override
Destructor.
Box m_box
The box to check the intersection with.
a 3d box
Definition: box.h:35
encapsulates test code
Definition: test.h:1061
A suite of tests to run.
Definition: test.h:1268
Every class exported by the ns3 library is enclosed in the ns3 namespace.