A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
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
26
using namespace
ns3
;
27
28
/**
29
* \brief Test suite for
30
*
31
* \sa ns3::BoxLineIntersectionTestSuite
32
*/
33
class
BoxLineIntersectionTestSuite
:
public
TestSuite
34
{
35
public
:
36
/**
37
* Constructor
38
*/
39
BoxLineIntersectionTestSuite
();
40
};
41
42
/**
43
* \brief TestCase to check the box line intersection
44
*/
45
class
BoxLineIntersectionTestCase
:
public
TestCase
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
*/
71
~BoxLineIntersectionTestCase
()
override
;
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 */
BoxLineIntersectionTestCase
TestCase to check the box line intersection.
Definition:
box-line-intersection-test.h:46
BoxLineIntersectionTestCase::m_indexPos2
uint16_t m_indexPos2
Second position index.
Definition:
box-line-intersection-test.h:90
BoxLineIntersectionTestCase::m_indexPos1
uint16_t m_indexPos1
First position index.
Definition:
box-line-intersection-test.h:89
BoxLineIntersectionTestCase::DoRun
void DoRun() override
Setup the simulation according to the configuration set by the class constructor, run it,...
Definition:
box-line-intersection-test.cc:107
BoxLineIntersectionTestCase::BuildNameString
std::string BuildNameString(uint16_t indexPos1, uint16_t indexPos2, Box box, bool intersect)
Builds the test name string based on provided parameter values.
Definition:
box-line-intersection-test.cc:92
BoxLineIntersectionTestCase::m_intersect
bool m_intersect
Flag to indicate the intersection.
Definition:
box-line-intersection-test.h:92
BoxLineIntersectionTestCase::CreatePosition
Vector CreatePosition(uint16_t index, double boxHeight)
Create the position as per the given index.
Definition:
box-line-intersection-test.cc:121
BoxLineIntersectionTestCase::~BoxLineIntersectionTestCase
~BoxLineIntersectionTestCase() override
Destructor.
Definition:
box-line-intersection-test.cc:87
BoxLineIntersectionTestCase::m_box
Box m_box
The box to check the intersection with.
Definition:
box-line-intersection-test.h:91
BoxLineIntersectionTestSuite
Test suite for.
Definition:
box-line-intersection-test.h:34
BoxLineIntersectionTestSuite::BoxLineIntersectionTestSuite
BoxLineIntersectionTestSuite()
Constructor.
Definition:
box-line-intersection-test.cc:33
ns3::Box
a 3d box
Definition:
box.h:35
ns3::TestCase
encapsulates test code
Definition:
test.h:1061
ns3::TestSuite
A suite of tests to run.
Definition:
test.h:1273
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
mobility
test
box-line-intersection-test.h
Generated on Tue May 28 2024 23:38:20 for ns-3 by
1.9.6