4 #include "ns3/double-probe.h"
6 #include "ns3/random-variable-stream.h"
7 #include "ns3/trace-source-accessor.h"
8 #include "ns3/traced-value.h"
9 #include "ns3/nstime.h"
10 #include "ns3/simulator.h"
11 #include "ns3/object.h"
12 #include "ns3/type-id.h"
13 #include "ns3/names.h"
20 static TypeId GetTypeId (
void);
23 m_var = CreateObject<ExponentialRandomVariable> ();
34 m_time = m_var->GetValue ();
49 aux = m_var->GetValue ();
65 .AddTraceSource (
"Emitter",
"XX",
67 "ns3::TracedValueCallback::Double")
79 virtual void DoRun (
void);
80 void TraceSink (std::string context,
double oldValue,
double newValue);
87 :
TestCase (
"basic probe test case"),
105 if (context ==
"testProbe")
109 else if (context ==
"testProbe2")
119 m_s = CreateObject<SampleEmitter> ();
124 p->SetName (
"testProbe");
129 Simulator::Stop (
Seconds (300));
133 Names::Add (
"/Names/SampleEmitter",
m_s);
136 p->ConnectByObject (
"Emitter",
m_s);
144 p2->SetName (
"testProbe2");
149 p2->ConnectByPath (
"/Names/SampleEmitter/Emitter");
159 Simulator::Destroy ();
virtual ~ProbeTestCase1()
void TraceSink(std::string context, double oldValue, double newValue)
virtual void DoRun(void)
Implementation to actually run this TestCase.
static TypeId GetTypeId(void)
Ptr< ExponentialRandomVariable > m_var
TracedValue< double > m_trace
A base class which provides memory management and object aggregation.
static EventId Schedule(Time const &delay, FUNC f, Ts &&... args)
Schedule an event to expire after delay.
static Time Now(void)
Return the current simulation virtual time.
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
double GetSeconds(void) const
Get an approximation of the time stored in this instance in the indicated unit.
AttributeValue implementation for Time.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
static ProbeTestSuite probeTestSuite
Time Now(void)
create an ns3::Time instance which contains the current simulation time.
#define NS_TEST_ASSERT_MSG_LT(actual, limit, msg)
Test that an actual value is less than a limit and report and abort if not.
#define NS_TEST_ASSERT_MSG_GT(actual, limit, msg)
Test that an actual value is greater than a limit and report and abort if not.
#define NS_TEST_ASSERT_MSG_EQ_TOL(actual, limit, tol, msg)
Test that actual and expected (limit) values are equal to plus or minus some tolerance and report and...
Time Seconds(double value)
Construct a Time in the indicated unit.
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Callback< R, Ts... > MakeCallback(R(T::*memPtr)(Ts...), OBJ objPtr)
Build Callbacks for class method members which take varying numbers of arguments and potentially retu...