diff --git a/test/isl-mock-channel-test-suite.cc b/test/isl-mock-channel-test-suite.cc index 3fb3ba2..b172d07 100644 --- a/test/isl-mock-channel-test-suite.cc +++ b/test/isl-mock-channel-test-suite.cc @@ -14,84 +14,58 @@ using namespace ns3; class IslMockChannelTransmitUnknownTestCase : public TestCase { public: - IslMockChannelTransmitUnknownTestCase (); - virtual ~IslMockChannelTransmitUnknownTestCase (); - + IslMockChannelTransmitUnknownTestCase () : TestCase ("transmission to broadcast address succeeds") {} + virtual ~IslMockChannelTransmitUnknownTestCase () {} private: - virtual void DoRun (void); + virtual void DoRun (void) + { + Ptr<IslMockChannel> channel = CreateObject<IslMockChannel> (); + Packet *packet = new Packet (); + Ptr<Packet> p = Ptr<Packet>(packet); + Ptr<MockNetDevice> dev = CreateObject<MockNetDevice> (); + dev->SetAddress (Mac48Address::Allocate ()); + int32_t srcId = channel->Attach (dev); + Address destAddr = Mac48Address::GetBroadcast (); + Time txTime; + bool result = channel->TransmitStart (p, srcId, destAddr, txTime); + + NS_TEST_ASSERT_MSG_EQ (result, true, "broadcast address does not transmit"); + } }; -IslMockChannelTransmitUnknownTestCase::IslMockChannelTransmitUnknownTestCase () - : TestCase ("Test transmission to broadcast address") -{ -} - -IslMockChannelTransmitUnknownTestCase::~IslMockChannelTransmitUnknownTestCase () -{ -} - -void -IslMockChannelTransmitUnknownTestCase::DoRun (void) -{ - Ptr<IslMockChannel> channel = CreateObject<IslMockChannel> (); - Packet *packet = new Packet (); - Ptr<Packet> p = Ptr<Packet>(packet); - Ptr<MockNetDevice> dev = CreateObject<MockNetDevice> (); - dev->SetAddress (Mac48Address::Allocate ()); - int32_t srcId = channel->Attach (dev); - Address destAddr = Mac48Address::GetBroadcast (); - Time txTime; - bool result = channel->TransmitStart (p, srcId, destAddr, txTime); - - NS_TEST_ASSERT_MSG_EQ (result, true, "Broadcast address delivers to all"); -} - class IslMockChannelTransmitKnownTestCase : public TestCase { public: - IslMockChannelTransmitKnownTestCase (); - virtual ~IslMockChannelTransmitKnownTestCase (); - + IslMockChannelTransmitKnownTestCase () : TestCase ("transmission to known destination succeeds") {} + virtual ~IslMockChannelTransmitKnownTestCase () {} private: - virtual void DoRun (void); + virtual void DoRun (void) + { + Ptr<IslMockChannel> channel = CreateObject<IslMockChannel> (); + + Packet *packet = new Packet (); + Ptr<Packet> p = Ptr<Packet>(packet); + + Ptr<Node> srcNode = CreateObject<Node> (); + Ptr<MockNetDevice> srcDev = CreateObject<MockNetDevice> (); + srcDev->SetNode (srcNode); + srcDev->SetAddress (Mac48Address::Allocate ()); + int32_t srcId = channel->Attach (srcDev); + + Ptr<Node> dstNode = CreateObject<Node> (); + Ptr<MockNetDevice> dstDev = CreateObject<MockNetDevice> (); + dstDev->SetNode (dstNode); + dstDev->SetAddress (Mac48Address::Allocate ()); + channel->Attach (dstDev); + + Address destAddr = dstDev->GetAddress (); + Time txTime; + bool result = channel->TransmitStart (p, srcId, destAddr, txTime); + + NS_TEST_ASSERT_MSG_EQ (result, true, "known destination did not deliver"); + } }; -IslMockChannelTransmitKnownTestCase::IslMockChannelTransmitKnownTestCase () - : TestCase ("Test transmission to known destination") -{ -} - -IslMockChannelTransmitKnownTestCase::~IslMockChannelTransmitKnownTestCase () -{ -} - -void -IslMockChannelTransmitKnownTestCase::DoRun (void) -{ - Ptr<IslMockChannel> channel = CreateObject<IslMockChannel> (); - - Packet *packet = new Packet (); - Ptr<Packet> p = Ptr<Packet>(packet); - - Ptr<Node> srcNode = CreateObject<Node> (); - Ptr<MockNetDevice> srcDev = CreateObject<MockNetDevice> (); - srcDev->SetNode (srcNode); - srcDev->SetAddress (Mac48Address::Allocate ()); - int32_t srcId = channel->Attach (srcDev); - - Ptr<Node> dstNode = CreateObject<Node> (); - Ptr<MockNetDevice> dstDev = CreateObject<MockNetDevice> (); - dstDev->SetNode (dstNode); - dstDev->SetAddress (Mac48Address::Allocate ()); - channel->Attach (dstDev); - - Address destAddr = dstDev->GetAddress (); - Time txTime; - bool result = channel->TransmitStart (p, srcId, destAddr, txTime); - - NS_TEST_ASSERT_MSG_EQ (result, true, "Known destination delivers"); -} - class IslMockChannelTestSuite : public TestSuite { public: @@ -104,6 +78,7 @@ IslMockChannelTestSuite::IslMockChannelTestSuite () // TestDuration for TestCase can be QUICK, EXTENSIVE or TAKES_FOREVER AddTestCase (new IslMockChannelTransmitUnknownTestCase, TestCase::QUICK); AddTestCase (new IslMockChannelTransmitKnownTestCase, TestCase::QUICK); + // TODO more test } // Do not forget to allocate an instance of this TestSuite