value-test.cc -> attribute-test.cc
This commit is contained in:
@@ -11,10 +11,10 @@
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
class AccessorTest : public Test
|
||||
class AttributeTest : public Test
|
||||
{
|
||||
public:
|
||||
AccessorTest ();
|
||||
AttributeTest ();
|
||||
virtual bool RunTests (void);
|
||||
private:
|
||||
};
|
||||
@@ -30,7 +30,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class AccessorObjectTest : public Object
|
||||
class AttributeObjectTest : public Object
|
||||
{
|
||||
public:
|
||||
enum TestEnum {
|
||||
@@ -39,60 +39,60 @@ public:
|
||||
TEST_C
|
||||
};
|
||||
static TypeId GetTypeId (void) {
|
||||
static TypeId tid = TypeId ("AccessorObjectTest")
|
||||
static TypeId tid = TypeId ("AttributeObjectTest")
|
||||
.SetParent<Object> ()
|
||||
.AddParameter ("TestBoolName", "help text",
|
||||
Boolean (false),
|
||||
MakeBooleanAccessor (&AccessorObjectTest::m_boolTest),
|
||||
MakeBooleanAccessor (&AttributeObjectTest::m_boolTest),
|
||||
MakeBooleanChecker ())
|
||||
.AddParameter ("TestBoolA", "help text",
|
||||
Boolean (false),
|
||||
MakeBooleanAccessor (&AccessorObjectTest::DoSetTestB,
|
||||
&AccessorObjectTest::DoGetTestB),
|
||||
MakeBooleanAccessor (&AttributeObjectTest::DoSetTestB,
|
||||
&AttributeObjectTest::DoGetTestB),
|
||||
MakeBooleanChecker ())
|
||||
.AddParameter ("TestPtr", "help text",
|
||||
Ptr<Derived> (0),
|
||||
MakePtrAccessor (&AccessorObjectTest::m_derived),
|
||||
MakePtrAccessor (&AttributeObjectTest::m_derived),
|
||||
MakePtrChecker<Derived> ())
|
||||
.AddParameter ("TestInt16", "help text",
|
||||
Integer (-2),
|
||||
MakeIntegerAccessor (&AccessorObjectTest::m_int16),
|
||||
MakeIntegerAccessor (&AttributeObjectTest::m_int16),
|
||||
MakeIntegerChecker<int16_t> ())
|
||||
.AddParameter ("TestInt16WithBounds", "help text",
|
||||
Integer (-2),
|
||||
MakeIntegerAccessor (&AccessorObjectTest::m_int16WithBounds),
|
||||
MakeIntegerAccessor (&AttributeObjectTest::m_int16WithBounds),
|
||||
MakeIntegerChecker (-5, 10))
|
||||
.AddParameter ("TestInt16SetGet", "help text",
|
||||
Integer (6),
|
||||
MakeIntegerAccessor (&AccessorObjectTest::DoSetInt16,
|
||||
&AccessorObjectTest::DoGetInt16),
|
||||
MakeIntegerAccessor (&AttributeObjectTest::DoSetInt16,
|
||||
&AttributeObjectTest::DoGetInt16),
|
||||
MakeIntegerChecker<int16_t> ())
|
||||
.AddParameter ("TestUint8", "help text",
|
||||
Uinteger (1),
|
||||
MakeUintegerAccessor (&AccessorObjectTest::m_uint8),
|
||||
MakeUintegerAccessor (&AttributeObjectTest::m_uint8),
|
||||
MakeUintegerChecker<uint8_t> ())
|
||||
.AddParameter ("TestEnum", "help text",
|
||||
Enum (TEST_A),
|
||||
MakeEnumAccessor (&AccessorObjectTest::m_enum),
|
||||
MakeEnumAccessor (&AttributeObjectTest::m_enum),
|
||||
MakeEnumChecker (TEST_A, "TestA",
|
||||
TEST_B, "TestB",
|
||||
TEST_C, "TestC"))
|
||||
.AddParameter ("TestRandom", "help text",
|
||||
ConstantVariable (1.0),
|
||||
MakeRandomVariableAccessor (&AccessorObjectTest::m_random),
|
||||
MakeRandomVariableAccessor (&AttributeObjectTest::m_random),
|
||||
MakeRandomVariableChecker ())
|
||||
.AddParameter ("TestFloat", "help text",
|
||||
Double (-1.1),
|
||||
MakeDoubleAccessor (&AccessorObjectTest::m_float),
|
||||
MakeDoubleAccessor (&AttributeObjectTest::m_float),
|
||||
MakeDoubleChecker<float> ())
|
||||
.AddParameter ("TestVector1", "help text",
|
||||
ObjectVector (),
|
||||
MakeObjectVectorAccessor (&AccessorObjectTest::m_vector1),
|
||||
MakeObjectVectorAccessor (&AttributeObjectTest::m_vector1),
|
||||
MakeObjectVectorChecker ())
|
||||
.AddParameter ("TestVector2", "help text",
|
||||
ObjectVector (),
|
||||
MakeObjectVectorAccessor (&AccessorObjectTest::DoGetVectorN,
|
||||
&AccessorObjectTest::DoGetVector),
|
||||
MakeObjectVectorAccessor (&AttributeObjectTest::DoGetVectorN,
|
||||
&AttributeObjectTest::DoGetVector),
|
||||
MakeObjectVectorChecker ())
|
||||
;
|
||||
|
||||
@@ -157,20 +157,20 @@ private:
|
||||
NS_TEST_ASSERT_EQUAL (got.Get (), expected.Get ()); \
|
||||
}
|
||||
|
||||
NS_OBJECT_ENSURE_REGISTERED (AccessorObjectTest);
|
||||
NS_OBJECT_ENSURE_REGISTERED (AttributeObjectTest);
|
||||
|
||||
AccessorTest::AccessorTest ()
|
||||
: Test ("Accessor")
|
||||
AttributeTest::AttributeTest ()
|
||||
: Test ("Attribute")
|
||||
{}
|
||||
bool
|
||||
AccessorTest::RunTests (void)
|
||||
AttributeTest::RunTests (void)
|
||||
{
|
||||
bool result = true;
|
||||
|
||||
Parameters params;
|
||||
Ptr<AccessorObjectTest> p;
|
||||
NS_TEST_ASSERT (params.Set ("AccessorObjectTest::TestBoolName", "false"));
|
||||
p = CreateObject<AccessorObjectTest> (params);
|
||||
Ptr<AttributeObjectTest> p;
|
||||
NS_TEST_ASSERT (params.Set ("AttributeObjectTest::TestBoolName", "false"));
|
||||
p = CreateObject<AttributeObjectTest> (params);
|
||||
CHECK_GET_STR (p, "TestBoolName", "false");
|
||||
CHECK_GET_PARAM (p, "TestBoolName", Boolean, false);
|
||||
|
||||
@@ -182,11 +182,11 @@ AccessorTest::RunTests (void)
|
||||
CHECK_GET_STR (p, "TestBoolName", "false");
|
||||
CHECK_GET_PARAM (p, "TestBoolName", Boolean, false);
|
||||
|
||||
p = CreateObjectWith<AccessorObjectTest> ("TestBoolName", "true");
|
||||
p = CreateObjectWith<AttributeObjectTest> ("TestBoolName", "true");
|
||||
CHECK_GET_STR (p, "TestBoolName", "true");
|
||||
CHECK_GET_PARAM (p, "TestBoolName", Boolean, true);
|
||||
|
||||
p = CreateObjectWith<AccessorObjectTest> ("TestBoolName", Boolean (true));
|
||||
p = CreateObjectWith<AttributeObjectTest> ("TestBoolName", Boolean (true));
|
||||
CHECK_GET_STR (p, "TestBoolName", "true");
|
||||
CHECK_GET_PARAM (p, "TestBoolName", Boolean, true);
|
||||
|
||||
@@ -207,10 +207,10 @@ AccessorTest::RunTests (void)
|
||||
NS_TEST_ASSERT (stored == derived);
|
||||
Ptr<Object> storedBase = p->Get ("TestPtr");
|
||||
NS_TEST_ASSERT (stored == storedBase);
|
||||
Ptr<AccessorObjectTest> x = p->Get ("TestPtr");
|
||||
Ptr<AttributeObjectTest> x = p->Get ("TestPtr");
|
||||
NS_TEST_ASSERT (x == 0);
|
||||
|
||||
p = CreateObjectWith<AccessorObjectTest> ("TestPtr", Create<Derived> ());
|
||||
p = CreateObjectWith<AttributeObjectTest> ("TestPtr", Create<Derived> ());
|
||||
NS_TEST_ASSERT (p != 0);
|
||||
derived = 0;
|
||||
derived = p->Get ("TestPtr");
|
||||
@@ -289,19 +289,19 @@ AccessorTest::RunTests (void)
|
||||
CHECK_GET_PARAM (p, "TestFloat", Double, (float)+2.3);
|
||||
|
||||
CHECK_GET_STR (p, "TestEnum", "TestA");
|
||||
CHECK_GET_PARAM (p, "TestEnum", Enum, AccessorObjectTest::TEST_A);
|
||||
NS_TEST_ASSERT (p->Set ("TestEnum", Enum (AccessorObjectTest::TEST_C)));
|
||||
CHECK_GET_PARAM (p, "TestEnum", Enum, AttributeObjectTest::TEST_A);
|
||||
NS_TEST_ASSERT (p->Set ("TestEnum", Enum (AttributeObjectTest::TEST_C)));
|
||||
CHECK_GET_STR (p, "TestEnum", "TestC");
|
||||
CHECK_GET_PARAM (p, "TestEnum", Enum, AccessorObjectTest::TEST_C);
|
||||
CHECK_GET_PARAM (p, "TestEnum", Enum, AttributeObjectTest::TEST_C);
|
||||
NS_TEST_ASSERT (p->Set ("TestEnum", "TestB"));
|
||||
CHECK_GET_STR (p, "TestEnum", "TestB");
|
||||
CHECK_GET_PARAM (p, "TestEnum", Enum, AccessorObjectTest::TEST_B);
|
||||
CHECK_GET_PARAM (p, "TestEnum", Enum, AttributeObjectTest::TEST_B);
|
||||
NS_TEST_ASSERT (!p->Set ("TestEnum", "TestD"));
|
||||
CHECK_GET_STR (p, "TestEnum", "TestB");
|
||||
CHECK_GET_PARAM (p, "TestEnum", Enum, AccessorObjectTest::TEST_B);
|
||||
CHECK_GET_PARAM (p, "TestEnum", Enum, AttributeObjectTest::TEST_B);
|
||||
NS_TEST_ASSERT (!p->Set ("TestEnum", Enum (5)));
|
||||
CHECK_GET_STR (p, "TestEnum", "TestB");
|
||||
CHECK_GET_PARAM (p, "TestEnum", Enum, AccessorObjectTest::TEST_B);
|
||||
CHECK_GET_PARAM (p, "TestEnum", Enum, AttributeObjectTest::TEST_B);
|
||||
|
||||
RandomVariable ran = p->Get ("TestRandom");
|
||||
NS_TEST_ASSERT (p->Set ("TestRandom", UniformVariable (0.0, 1.0)));
|
||||
@@ -345,11 +345,11 @@ AccessorTest::RunTests (void)
|
||||
NS_TEST_ASSERT_EQUAL (p->Get ("TestBool"), "false");
|
||||
|
||||
Parameters::GetGlobal ()->Set ("TestBool", "true");
|
||||
p = CreateObjectWith<AccessorObjectTest> ();
|
||||
p = CreateObjectWith<AttributeObjectTest> ();
|
||||
NS_TEST_ASSERT_EQUAL (p->Get ("TestBool"), "true");
|
||||
|
||||
Parameters::GetGlobal ()->Set ("TestBool", "false");
|
||||
p = CreateObjectWith<AccessorObjectTest> ();
|
||||
p = CreateObjectWith<AttributeObjectTest> ();
|
||||
NS_TEST_ASSERT_EQUAL (p->Get ("TestBool"), "false");
|
||||
#endif
|
||||
return result;
|
||||
@@ -357,7 +357,7 @@ AccessorTest::RunTests (void)
|
||||
|
||||
|
||||
|
||||
static AccessorTest g_parameterTest;
|
||||
static AttributeTest g_parameterTest;
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
@@ -55,7 +55,7 @@ def build(bld):
|
||||
'type-id-default-value.cc',
|
||||
'attribute.cc',
|
||||
'boolean-value.cc',
|
||||
'value-test.cc',
|
||||
'attribute-test.cc',
|
||||
'int-value.cc',
|
||||
'uint-value.cc',
|
||||
'enum-value.cc',
|
||||
|
||||
Reference in New Issue
Block a user