134 index = ipv6->GetInterfaceForAddress ("2001:ffff:5678:9001::2"); |
134 index = ipv6->GetInterfaceForAddress ("2001:ffff:5678:9001::2"); |
135 NS_TEST_ASSERT_MSG_EQ (index, 2, "Number of addresses should be 2??"); |
135 NS_TEST_ASSERT_MSG_EQ (index, 2, "Number of addresses should be 2??"); |
136 |
136 |
137 index = ipv6->GetInterfaceForAddress ("2001:ffff:5678:9000::1"); /* address we just remove */ |
137 index = ipv6->GetInterfaceForAddress ("2001:ffff:5678:9000::1"); /* address we just remove */ |
138 NS_TEST_ASSERT_MSG_EQ (index, (uint32_t) -1, "Address should not be found??"); |
138 NS_TEST_ASSERT_MSG_EQ (index, (uint32_t) -1, "Address should not be found??"); |
|
139 |
|
140 /* Test Ipv6Interface()::RemoveAddress(address) */ |
|
141 output = interface->RemoveAddress (Ipv6Address ("2001:1234:5678:9000::1")); |
|
142 NS_TEST_ASSERT_MSG_EQ (ifaceAddr1, output, "Wrong Interface Address Removed??"); |
|
143 num = interface->GetNAddresses (); |
|
144 NS_TEST_ASSERT_MSG_EQ (num, 1, "Number of addresses should be 1??"); |
|
145 |
|
146 /* Remove a non-existent Address */ |
|
147 output = interface->RemoveAddress (Ipv6Address ("2001:1234:5678:9000::1")); |
|
148 NS_TEST_ASSERT_MSG_EQ (Ipv6InterfaceAddress (), output, |
|
149 "Removed non-existent address??"); |
|
150 num = interface->GetNAddresses (); |
|
151 NS_TEST_ASSERT_MSG_EQ (num, 1, "Number of addresses should be 1??"); |
|
152 |
|
153 /* Remove a loopback Address */ |
|
154 output = interface->RemoveAddress (Ipv6Address::GetLoopback ()); |
|
155 NS_TEST_ASSERT_MSG_EQ (Ipv6InterfaceAddress (), output, |
|
156 "Able to remove loopback address??"); |
|
157 num = interface->GetNAddresses (); |
|
158 NS_TEST_ASSERT_MSG_EQ (num, 1, "Number of addresses should be 1??"); |
|
159 |
|
160 /* Test Ipv6Address::RemoveAddress(index, addresss) */ |
|
161 index = ipv6->GetInterfaceForAddress ("2001:ffff:5678:9001::2"); |
|
162 bool result = ipv6->RemoveAddress (index, Ipv6Address |
|
163 ("2001:ffff:5678:9001::2")); |
|
164 NS_TEST_ASSERT_MSG_EQ (result, true, "Unable to remove Address??"); |
|
165 num = interface2->GetNAddresses (); |
|
166 NS_TEST_ASSERT_MSG_EQ (num, 1, "Number of addresses should be 1??"); |
|
167 |
|
168 /* Remove a non-existent Address */ |
|
169 result = ipv6->RemoveAddress (index, Ipv6Address |
|
170 ("2001:ffff:5678:9001::2")); |
|
171 NS_TEST_ASSERT_MSG_EQ (result, false, "Removed Non-existent address??"); |
|
172 num = interface2->GetNAddresses (); |
|
173 NS_TEST_ASSERT_MSG_EQ (num, 1, "Number of addresses should be 1??"); |
|
174 |
|
175 /* Remove a loopback Address */ |
|
176 result = ipv6->RemoveAddress (index, Ipv6Address::GetLoopback ()); |
|
177 NS_TEST_ASSERT_MSG_EQ (result, false, "Able to remove loopback address??"); |
|
178 num = interface2->GetNAddresses (); |
|
179 NS_TEST_ASSERT_MSG_EQ (num, 1, "Number of addresses should be 1??"); |
|
180 |
139 Simulator::Destroy (); |
181 Simulator::Destroy (); |
140 } //end DoRun |
182 } //end DoRun |
141 static class IPv6L3ProtocolTestSuite : public TestSuite |
183 static class IPv6L3ProtocolTestSuite : public TestSuite |
142 { |
184 { |
143 public: |
185 public: |