20 #include "ns3/object.h"    21 #include "ns3/boolean.h"    22 #include "ns3/integer.h"    23 #include "ns3/uinteger.h"    24 #include "ns3/config.h"    26 #include "ns3/string.h"    27 #include "ns3/random-variable-stream.h"    28 #include "ns3/double.h"    29 #include "ns3/object-vector.h"    30 #include "ns3/object-map.h"    31 #include "ns3/traced-value.h"    32 #include "ns3/callback.h"    33 #include "ns3/trace-source-accessor.h"    34 #include "ns3/pointer.h"    35 #include "ns3/object-factory.h"    36 #include "ns3/nstime.h"   106       .SetParent<Object> ()
   107       .HideFromDocumentation ()
   108       .AddAttribute (
"TestBoolName", 
"help text",
   112       .AddAttribute (
"TestBoolA", 
"help text",
   117       .AddAttribute (
"TestInt16", 
"help text",
   120                      MakeIntegerChecker<int16_t> ())
   121       .AddAttribute (
"TestInt16WithBounds", 
"help text",
   124                      MakeIntegerChecker<int16_t> (-5, 10))
   125       .AddAttribute (
"TestInt16SetGet", 
"help text",
   129                      MakeIntegerChecker<int16_t> ())
   130       .AddAttribute (
"TestUint8", 
"help text",
   133                      MakeUintegerChecker<uint8_t> ())
   134       .AddAttribute (
"TestEnum", 
"help text",
   140       .AddAttribute (
"TestEnumSetGet", 
"help text",
   147       .AddAttribute (
"TestRandom", 
"help text",
   148                      StringValue (
"ns3::ConstantRandomVariable[Constant=1.0]"),
   150                      MakePointerChecker <RandomVariableStream>())
   151       .AddAttribute (
"TestFloat", 
"help text",
   154                      MakeDoubleChecker<float> ())
   155       .AddAttribute (
"TestVector1", 
"help text",
   158                      MakeObjectVectorChecker<Derived> ())
   159       .AddAttribute (
"TestVector2", 
"help text",
   163                      MakeObjectVectorChecker<Derived> ())
   164       .AddAttribute (
"TestMap1", 
"help text",
   167                      MakeObjectMapChecker<Derived> ())
   168       .AddAttribute (
"IntegerTraceSource1", 
"help text",
   171                      MakeIntegerChecker<int8_t> ())
   172       .AddAttribute (
"IntegerTraceSource2", 
"help text",
   176                      MakeIntegerChecker<int8_t> ())
   177       .AddAttribute (
"UIntegerTraceSource", 
"help text",
   180                      MakeIntegerChecker<uint8_t> ())
   181       .AddAttribute (
"DoubleTraceSource", 
"help text",
   184                      MakeDoubleChecker<double> ())
   185       .AddAttribute (
"BoolTraceSource", 
"help text",
   189       .AddAttribute (
"EnumTraceSource", 
"help text",
   193       .AddAttribute (
"ValueClassSource", 
"help text",
   197       .AddTraceSource (
"Source1", 
"help test",
   199                        "ns3::TracedValueCallback::Int8")
   200       .AddTraceSource (
"Source2", 
"help text",
   202                        "ns3::AttributeObjectTest::NumericTracedCallback")
   203       .AddTraceSource (
"ValueSource", 
"help text",
   205                        "ns3::ValueClassTest::TracedValueCallback")
   206       .AddAttribute (
"Pointer", 
"help text",
   209                      MakePointerChecker<Derived> ())
   210       .AddAttribute (
"PointerInitialized", 
"help text",
   213                      MakePointerChecker<Derived> ())
   214       .AddAttribute (
"PointerInitialized2", 
"help text",
   217                      MakePointerChecker<Derived> ())
   218       .AddAttribute (
"Callback", 
"help text",
   222       .AddAttribute (
"TestTimeWithBounds", 
"help text",
   244   void AddToVector1 (
void) { m_vector1.push_back (CreateObject<Derived> ()); }
   245   void AddToVector2 (
void) { m_vector2.push_back (CreateObject<Derived> ()); }
   249   void InvokeCb (
double a, 
int b, 
float c) { m_cb (a,b,c); }
   253     if (!m_cbValue.IsNull ()) {
   282   std::map <uint32_t, Ptr<Derived> > 
m_map1;
   287   typedef void (* NumericTracedCallback) (double, int, float);
   306 template <
typename T>
   314   virtual void DoRun (
void);
   316   bool CheckGetCodePaths (
Ptr<Object> p, std::string attributeName, std::string expectedString, T expectedValue);
   319 template <
typename T>
   325 template <
typename T>
   330 template <
typename T> 
bool   333   std::string attributeName,
   334   std::string expectedString,
   344   bool ok2 = stringValue.
Get () == expectedString;
   350   bool ok4 = expectedValue.Get () == actualValue.Get ();
   352   return ok1 && ok2 && ok3 && ok4;
   364   p = CreateObject<AttributeObjectTest> ();
   372   p = CreateObject<AttributeObjectTest> ();
   375   ok = CheckGetCodePaths (p, 
"TestBoolName", 
"true", 
BooleanValue (
true));
   384   p = CreateObject<AttributeObjectTest> ();
   387   ok = CheckGetCodePaths (p, 
"TestBoolName", 
"false", 
BooleanValue (
false));
   396   ok = CheckGetCodePaths (p, 
"TestBoolName", 
"true", 
BooleanValue (
true));
   397   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() via StringValue");
   405   ok = CheckGetCodePaths (p, 
"TestBoolName", 
"false", 
BooleanValue (
false));
   406   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() via StringValue");
   411   p = CreateObject<AttributeObjectTest> ();
   423   ok = CheckGetCodePaths (p, 
"TestBoolA", 
"true", 
BooleanValue (
true));
   424   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() (getter/setter) via StringValue");
   432   ok = CheckGetCodePaths (p, 
"TestBoolA", 
"false", 
BooleanValue (
false));
   433   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() (getter/setter) via StringValue");
   442   p = CreateObject<AttributeObjectTest> ();
   449   ok = CheckGetCodePaths (p, 
"TestInt16", 
"-2", 
IntegerValue (-2));
   458   ok = CheckGetCodePaths (p, 
"TestInt16", 
"-5", 
IntegerValue (-5));
   459   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() via StringValue");
   467   ok = CheckGetCodePaths (p, 
"TestInt16", 
"2", 
IntegerValue (2));
   468   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() via StringValue");
   476   ok = CheckGetCodePaths (p, 
"TestInt16", 
"-32768", 
IntegerValue (-32768));
   477   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() (most negative) via StringValue");
   484   NS_TEST_ASSERT_MSG_EQ (ok, 
false, 
"Unexpectedly could SetAttributeFailSafe() via StringValue to -32769");
   486   ok = CheckGetCodePaths (p, 
"TestInt16", 
"-32768", 
IntegerValue (-32768));
   495   ok = CheckGetCodePaths (p, 
"TestInt16", 
"32767", 
IntegerValue (32767));
   496   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() (most positive) via StringValue");
   503   NS_TEST_ASSERT_MSG_EQ (ok, 
false, 
"Unexpectedly could SetAttributeFailSafe() via StringValue to 32768");
   505   ok = CheckGetCodePaths (p, 
"TestInt16", 
"32767", 
IntegerValue (32767));
   515   ok = CheckGetCodePaths (p, 
"TestInt16WithBounds", 
"10", 
IntegerValue (10));
   516   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() (positive limit) via StringValue");
   522   NS_TEST_ASSERT_MSG_EQ (ok, 
false, 
"Unexpectedly could SetAttributeFailSafe() via IntegerValue to 11");
   524   ok = CheckGetCodePaths (p, 
"TestInt16WithBounds", 
"10", 
IntegerValue (10));
   533   ok = CheckGetCodePaths (p, 
"TestInt16WithBounds", 
"-5", 
IntegerValue (-5));
   534   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() (negative limit) via StringValue");
   540   NS_TEST_ASSERT_MSG_EQ (ok, 
false, 
"Unexpectedly could SetAttributeFailSafe() via IntegerValue to -6");
   542   ok = CheckGetCodePaths (p, 
"TestInt16WithBounds", 
"-5", 
IntegerValue (-5));
   552   p = CreateObject<AttributeObjectTest> ();
   559   ok = CheckGetCodePaths (p, 
"TestUint8", 
"1", 
UintegerValue (1));
   568   ok = CheckGetCodePaths (p, 
"TestUint8", 
"0", 
UintegerValue (0));
   569   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() via StringValue");
   577   ok = CheckGetCodePaths (p, 
"TestUint8", 
"255", 
UintegerValue (255));
   578   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() (positive limit) via UintegerValue");
   587   ok = CheckGetCodePaths (p, 
"TestUint8", 
"255", 
UintegerValue (255));
   597   ok = CheckGetCodePaths (p, 
"TestUint8", 
"255", 
UintegerValue (255));
   598   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() via StringValue");
   605   NS_TEST_ASSERT_MSG_EQ (ok, 
false, 
"Unexpectedly could SetAttributeFailSafe() via StringValue to 256");
   607   ok = CheckGetCodePaths (p, 
"TestUint8", 
"255", 
UintegerValue (255));
   614   NS_TEST_ASSERT_MSG_EQ (ok, 
false, 
"Unexpectedly could SetAttributeFailSafe() via StringValue to -1");
   623   p = CreateObject<AttributeObjectTest> ();
   630   ok = CheckGetCodePaths (p, 
"TestFloat", 
"-1.1", 
DoubleValue ((
float)-1.1));
   639   ok = CheckGetCodePaths (p, 
"TestFloat", 
"2.3", 
DoubleValue ((
float)2.3));
   640   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() via DoubleValue");
   649   p = CreateObject<AttributeObjectTest> ();
   666   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() via EnumValue");
   682   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() via EnumValue");
   691   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe() via StringValue");
   720   p = CreateObject<AttributeObjectTest> ();
   724   Time::SetResolution (Time::NS);
   732   ok = CheckGetCodePaths (p, 
"TestTimeWithBounds", 
"+5000000000.0ns", 
TimeValue (
Seconds (5)));
   733   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe(5s) via TimeValue");
   738   ok = CheckGetCodePaths (p, 
"TestTimeWithBounds", 
"+3000000000.0ns", 
TimeValue (
Seconds (3)));
   739   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe(3s) via StringValue");
   753   ok = CheckGetCodePaths (p, 
"TestTimeWithBounds", 
"+10000000000.0ns", 
TimeValue (
Seconds (10)));
   754   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe(10s [positive limit]) via StringValue");
   760   NS_TEST_ASSERT_MSG_EQ (ok, 
false, 
"Unexpectedly could SetAttributeFailSafe() via TimeValue to 11s [greater than positive limit]");
   762   ok = CheckGetCodePaths (p, 
"TestTimeWithBounds", 
"+10000000000.0ns", 
TimeValue (
Seconds (10)));
   771   ok = CheckGetCodePaths (p, 
"TestTimeWithBounds", 
"-5000000000.0ns", 
TimeValue (
Seconds (-5)));
   772   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Attribute not set properly by SetAttributeFailSafe(-5s [negative limit]) via StringValue");
   780   ok = CheckGetCodePaths (p, 
"TestTimeWithBounds", 
"-5000000000.0ns", 
TimeValue (
Seconds (-5)));
   801   virtual void DoRun (
void);
   821   p = CreateObject<AttributeObjectTest> ();
   848   virtual void DoRun (
void);
   862   p = CreateObject<AttributeObjectTest> ();
   913   virtual void DoRun (
void);
   927   p = CreateObject<AttributeObjectTest> ();
   979   virtual void DoRun (
void);
   994   p = CreateObject<AttributeObjectTest> ();
  1020   NS_TEST_ASSERT_MSG_EQ (ok, 
false, 
"Unexpectedly could SetAttributeFailSafe() via IntegerValue to 128");
  1026   NS_TEST_ASSERT_MSG_EQ (ok, 
false, 
"Unexpectedly could SetAttributeFailSafe() via IntegerValue to -129");
  1051   NS_TEST_ASSERT_MSG_EQ (ok, 
false, 
"Unexpectedly could SetAttributeFailSafe() via IntegerValue to 128");
  1057   NS_TEST_ASSERT_MSG_EQ (ok, 
false, 
"Unexpectedly could SetAttributeFailSafe() via IntegerValue to -129");
  1071   virtual void DoRun (
void);
  1092   p = CreateObject<AttributeObjectTest> ();
  1111   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Could not TraceConnectWithoutContext() \"Source1\" to NodifySource1()");
  1128   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Could not TraceConnectWithoutContext() \"Source1\" to NodifySource1()");
  1147   virtual void DoRun (
void);
  1170   p = CreateObject<AttributeObjectTest> ();
  1226   virtual void DoRun (
void);
  1249   p = CreateObject<AttributeObjectTest> ();
  1260   NS_TEST_ASSERT_MSG_EQ (derived, 0, 
"Unexpectedly found non-null pointer in newly initialized PointerValue Attribute");
  1266   derived = Create<Derived> ();
  1268   NS_TEST_ASSERT_MSG_EQ (ok, 
true, 
"Could not SetAttributeFailSafe() a PointerValue of the correct type");
  1286   NS_TEST_ASSERT_MSG_EQ (storedBase, stored, 
"Retrieved Ptr<Object> does not match stored Ptr<Derived>");
  1304   p2->GetAttribute (
"PointerInitialized", ptr2);
  1306   NS_TEST_ASSERT_MSG_NE (storedPtr, storedPtr2, 
"ptr and ptr2 both have PointerInitialized pointing to the same object");
  1308   p2->GetAttribute (
"PointerInitialized", ptr3);
  1310   NS_TEST_ASSERT_MSG_NE (storedPtr, storedPtr3, 
"ptr and ptr3 both have PointerInitialized pointing to the same object");
  1316   factory.
SetTypeId (
"ns3::AttributeObjectTest");
  1317   factory.
Set (
"PointerInitialized", 
StringValue (
"ns3::Derived"));
  1329   NS_TEST_ASSERT_MSG_NE (storedPtr4, storedPtr5, 
"aotPtr and aotPtr2 are unique, but their Derived member is not");
  1349   virtual void DoRun (
void);
  1369   p = CreateObject<AttributeObjectTest> ();
 void InvokeCbValue(int8_t a)
int16_t m_int16WithBounds
TracedValue< enum Test_e > m_enumSrc
std::istream & operator>>(std::istream &is, Angles &a)
initialize a struct Angles from input 
Simulation virtual time values and global simulation resolution. 
virtual ~RandomVariableStreamAttributeTestCase()
bool SetDefaultFailSafe(std::string fullName, const AttributeValue &value)
Ptr< Derived > m_ptrInitialized2
Ptr< const AttributeAccessor > MakeValueClassTestAccessor(T1 a1)
TypeId AddConstructor(void)
Record in this TypeId the fact that the default constructor is accessible. 
  AttributeValue implementation for Boolean. 
TracedValue< uint8_t > m_uintSrc
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system. 
bool CheckGetCodePaths(Ptr< Object > p, std::string attributeName, std::string expectedString, T expectedValue)
virtual ~AttributeObjectTest(void)
Ptr< Derived > m_ptrInitialized
int16_t DoGetInt16(void) const
Ptr< Derived > DoGetVector(std::size_t i) const
Hold variables of type string. 
virtual void DoRun(void)
Implementation to actually run this TestCase. 
void NotifySource2(double a, int b, float c)
bool DoGetTestB(void) const
#define ATTRIBUTE_HELPER_CPP(type)
Define the attribute value, accessor and checkers for class type. 
virtual void DoRun(void)
Implementation to actually run this TestCase. 
Ptr< const AttributeAccessor > MakeEnumAccessor(T1 a1)
 Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
Ptr< const AttributeAccessor > MakeBooleanAccessor(T1 a1)
 Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
std::vector< Ptr< Derived > > m_vector2
Ptr< const AttributeAccessor > MakeObjectVectorAccessor(U T::*memberVariable)
MakeAccessorHelper implementation for ObjectVector. 
Hold a signed integer type. 
void SetTypeId(TypeId tid)
Set the TypeId of the Objects to be created by this factory. 
#define NS_UNUSED(x)
Mark a local variable as unused. 
bool SetAttributeFailSafe(std::string name, const AttributeValue &value)
Set a single attribute without raising errors. 
Callback< void, int8_t > m_cbValue
ObjectMapAttributeTestCase(std::string description)
RandomVariableStreamAttributeTestCase(std::string description)
std::map< uint32_t, Ptr< Derived > > m_map1
bool GetAttributeFailSafe(std::string name, AttributeValue &value) const
Get the value of an attribute without raising erros. 
IntegerTraceSourceAttributeTestCase(std::string description)
void NotifyCallbackValue(int8_t a)
virtual ~CallbackValueTestCase()
  AttributeValue implementation for Callback. 
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source. 
Ptr< const AttributeChecker > MakeTimeChecker(const Time min, const Time max)
Helper to make a Time checker with bounded range. 
Ptr< const AttributeAccessor > MakeIntegerAccessor(T1 a1)
 Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
virtual void DoRun(void)
Implementation to actually run this TestCase. 
std::vector< Ptr< Derived > > m_vector1
TracedCallbackTestCase(std::string description)
Ptr< const AttributeAccessor > MakePointerAccessor(T1 a1)
 Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
std::string Get(void) const
  
Hold variables of type enum. 
TracedValue< int8_t > m_intSrc2
  AttributeValue implementation for Time. 
Ptr< Object > Create(void) const
Create an Object instance of the configured TypeId. 
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite. 
Hold an unsigned integer type. 
void NotifySource2(double a, int b, float c)
virtual void DoRun(void)
Implementation to actually run this TestCase. 
#define NS_TEST_ASSERT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report and abort if not. 
IntegerTraceSourceTestCase(std::string description)
Ptr< const AttributeAccessor > MakeCallbackAccessor(T1 a1)
 Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
virtual void DoRun(void)
Implementation to actually run this TestCase. 
void NotifySource1(int8_t old, int8_t n)
bool TraceDisconnectWithoutContext(std::string name, const CallbackBase &cb)
Disconnect from a TraceSource a Callback previously connected without a context. 
Callback< R > MakeCallback(R(T::*memPtr)(void), OBJ objPtr)
TracedValue< int8_t > m_intSrc1
std::size_t GetN(void) const
Get the number of Objects. 
virtual ~PointerAttributeTestCase()
void AddToMap1(uint32_t i)
TracedCallback< double, int, float > m_cb
void DoSetInt16(int16_t v)
AttributeObjectTest(void)
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output 
Ptr< T > GetObject(void) const
Get a pointer to the requested aggregated Object. 
bool TraceConnectWithoutContext(std::string name, const CallbackBase &cb)
Connect a TraceSource to a Callback without a context. 
TracedValue< ValueClassTest > m_valueSrc
bool operator!=(Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > a, Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > b)
Inequality test. 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
std::size_t DoGetVectorN(void) const
Callback< void, int8_t > m_cbValue
Hold objects of type Ptr<T>. 
Ptr< const AttributeChecker > MakeBooleanChecker(void)
  
virtual ~AttributeTestCase()
int8_t DoGetIntSrc(void) const
ObjectVectorAttributeTestCase(std::string description)
virtual void DoRun(void)
Implementation to actually run this TestCase. 
void Set(std::string name, const AttributeValue &value)
Set an attribute to be set during construction. 
Ptr< const AttributeAccessor > MakeTimeAccessor(T1 a1)
 Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
virtual ~ObjectMapAttributeTestCase()
static AttributesTestSuite attributesTestSuite
Ptr< const AttributeChecker > MakeCallbackChecker(void)
  
void InvokeCb(double a, int b, float c)
TracedValue< double > m_doubleSrc
Ptr< const AttributeAccessor > MakeDoubleAccessor(T1 a1)
 Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
Ptr< const AttributeChecker > MakeEnumChecker(int v1, std::string n1, int v2, std::string n2, int v3, std::string n3, int v4, std::string n4, int v5, std::string n5, int v6, std::string n6, int v7, std::string n7, int v8, std::string n8, int v9, std::string n9, int v10, std::string n10, int v11, std::string n11, int v12, std::string n12, int v13, std::string n13, int v14, std::string n14, int v15, std::string n15, int v16, std::string n16, int v17, std::string n17, int v18, std::string n18, int v19, std::string n19, int v20, std::string n20, int v21, std::string n21, int v22, std::string n22)
Make an EnumChecker pre-configured with a set of allowed values by name. 
Instantiate subclasses of ns3::Object. 
AttributeTestCase(std::string description)
virtual void DoRun(void)
Implementation to actually run this TestCase. 
static TypeId GetTypeId(void)
#define NS_TEST_ASSERT_MSG_NE(actual, limit, msg)
Test that an actual and expected (limit) value are not equal and report and abort if not...
bool DoSetIntSrc(int8_t v)
Time Seconds(double value)
Construct a Time in the indicated unit. 
void SetDefault(std::string name, const AttributeValue &value)
void NotifyCallbackValue(int8_t a)
virtual ~ObjectVectorAttributeTestCase()
virtual ~TracedCallbackTestCase()
static TypeId GetTypeId(void)
Ptr< const AttributeAccessor > MakeObjectMapAccessor(U T::*memberVariable)
MakeAccessorHelper implementation for ObjectVector. 
Test_e DoGetEnum(void) const
Ptr< RandomVariableStream > m_random
Test class for TracedValue callbacks. 
A base class which provides memory management and object aggregation. 
void InvokeCbValue(int8_t a)
Container for a set of ns3::Object pointers. 
TracedValue< bool > m_boolSrc
Ptr< Object > Get(std::size_t i) const
Get a specific Object. 
bool IsNull(void) const
Check for null implementation. 
PointerAttributeTestCase(std::string description)
This class can be used to hold variables of floating point type such as 'double' or 'float'...
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
 Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
a unique identifier for an interface. 
Ptr< const AttributeChecker > MakeValueClassTestChecker(void)
CallbackValueTestCase(std::string description)
#define ATTRIBUTE_HELPER_HEADER(type)
Declare the attribute value, accessor and checkers for class type. 
void GetAttribute(std::string name, AttributeValue &value) const
Get the value of an attribute, raising fatal errors if unsuccessful. 
virtual ~IntegerTraceSourceAttributeTestCase()
virtual ~IntegerTraceSourceTestCase()
Callback< void, int8_t > m_cbValue
virtual void DoRun(void)
Implementation to actually run this TestCase. 
void InvokeCbValue(int8_t a)
virtual void DoRun(void)
Implementation to actually run this TestCase.