**breaking** consolidate src/tlv/*lsa* into src/lsa/*lsa*
Lsa de/serialize functions are replaced by wireEncode/Decode.
Update LSA wire formats. Change TLV assignments as required.
Update nlsrc to print using new encoding.
refs: #4787
Change-Id: Ie8d40b7836d51ea5bb444c8db208dc2b3a0d1cec
diff --git a/tests/tlv/test-adjacency-lsa.cpp b/tests/tlv/test-adjacency-lsa.cpp
deleted file mode 100644
index 531e1a4..0000000
--- a/tests/tlv/test-adjacency-lsa.cpp
+++ /dev/null
@@ -1,223 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2019, The University of Memphis,
- * Regents of the University of California,
- * Arizona Board of Regents.
- *
- * This file is part of NLSR (Named-data Link State Routing).
- * See AUTHORS.md for complete list of NLSR authors and contributors.
- *
- * NLSR is free software: you can redistribute it and/or modify it under the terms
- * of the GNU General Public License as published by the Free Software Foundation,
- * either version 3 of the License, or (at your option) any later version.
- *
- * NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * NLSR, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
-
-#include "tlv/adjacency-lsa.hpp"
-
-#include "tests/boost-test.hpp"
-
-namespace nlsr {
-namespace tlv {
-namespace test {
-
-BOOST_AUTO_TEST_SUITE(TlvTestAdjacencyLsa)
-
-const uint8_t AdjacencyLsaWithAdjacenciesData[] =
-{
- // Header
- 0x83, 0x3d,
- // LsaInfo
- 0x80, 0x11, 0x81, 0x08, 0x07, 0x06, 0x08, 0x04, 0x74, 0x65, 0x73, 0x74, 0x82, 0x01,
- 0x80, 0x8b, 0x02, 0x27, 0x10,
- // Adjacency
- 0x84, 0x13, 0x07, 0x07, 0x08, 0x05, 0x74, 0x65, 0x73, 0x74, 0x31, 0x8d, 0x05, 0x74,
- 0x65, 0x73, 0x74, 0x31, 0x8c, 0x01, 0x80,
- // Adjacency
- 0x84, 0x13, 0x07, 0x07, 0x08, 0x05, 0x74, 0x65, 0x73, 0x74, 0x32, 0x8d, 0x05, 0x74,
- 0x65, 0x73, 0x74, 0x32, 0x8c, 0x01, 0x80
-};
-
-const uint8_t AdjacencyLsaWithoutAdjacenciesData[] =
-{
- // Header
- 0x83, 0x13,
- // LsaInfo
- 0x80, 0x11, 0x81, 0x08, 0x07, 0x06, 0x08, 0x04, 0x74, 0x65, 0x73, 0x74, 0x82, 0x01,
- 0x80, 0x8b, 0x02, 0x27, 0x10
-};
-
-BOOST_AUTO_TEST_CASE(AdjacencyLsaEncodeWithAdjacencies)
-{
- AdjacencyLsa adjacencyLsa;
-
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("test");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(ndn::time::milliseconds(10000));
- adjacencyLsa.setLsaInfo(lsaInfo);
-
- Adjacency adjacency1;
- adjacency1.setName("test1");
- adjacency1.setUri("test1");
- adjacency1.setCost(128);
- adjacencyLsa.addAdjacency(adjacency1);
-
- Adjacency adjacency2;
- adjacency2.setName("test2");
- adjacency2.setUri("test2");
- adjacency2.setCost(128);
- adjacencyLsa.addAdjacency(adjacency2);
-
- const ndn::Block& wire = adjacencyLsa.wireEncode();
-
- BOOST_REQUIRE_EQUAL_COLLECTIONS(AdjacencyLsaWithAdjacenciesData,
- AdjacencyLsaWithAdjacenciesData +
- sizeof(AdjacencyLsaWithAdjacenciesData),
- wire.begin(), wire.end());
-}
-
-BOOST_AUTO_TEST_CASE(AdjacencyLsaDecodeWithAdjacencies)
-{
- AdjacencyLsa adjacencyLsa;
-
- adjacencyLsa.wireDecode(ndn::Block(AdjacencyLsaWithAdjacenciesData,
- sizeof(AdjacencyLsaWithAdjacenciesData)));
-
- LsaInfo lsaInfo = adjacencyLsa.getLsaInfo();
- BOOST_CHECK_EQUAL(lsaInfo.getOriginRouter(), "test");
- BOOST_CHECK_EQUAL(lsaInfo.getSequenceNumber(), 128);
- BOOST_CHECK_EQUAL(lsaInfo.getExpirationPeriod(), ndn::time::milliseconds(10000));
-
- BOOST_CHECK_EQUAL(adjacencyLsa.hasAdjacencies(), true);
- std::list<Adjacency> adjacencies = adjacencyLsa.getAdjacencies();
- std::list<Adjacency>::const_iterator it = adjacencies.begin();
- BOOST_CHECK_EQUAL(it->getName(), "test1");
- BOOST_CHECK_EQUAL(it->getUri(), "test1");
- BOOST_CHECK_EQUAL(it->getCost(), 128);
-
- it++;
- BOOST_CHECK_EQUAL(it->getName(), "test2");
- BOOST_CHECK_EQUAL(it->getUri(), "test2");
- BOOST_CHECK_EQUAL(it->getCost(), 128);
-}
-
-BOOST_AUTO_TEST_CASE(AdjacencyLsaEncodeWithoutAdjacencies)
-{
- AdjacencyLsa adjacencyLsa;
-
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("test");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(ndn::time::milliseconds(10000));
- adjacencyLsa.setLsaInfo(lsaInfo);
-
- const ndn::Block& wire = adjacencyLsa.wireEncode();
-
- BOOST_REQUIRE_EQUAL_COLLECTIONS(AdjacencyLsaWithoutAdjacenciesData,
- AdjacencyLsaWithoutAdjacenciesData +
- sizeof(AdjacencyLsaWithoutAdjacenciesData),
- wire.begin(), wire.end());
-}
-
-BOOST_AUTO_TEST_CASE(AdjacencyLsaDecodeWithoutAdjacencies)
-{
- AdjacencyLsa adjacencyLsa;
-
- adjacencyLsa.wireDecode(ndn::Block(AdjacencyLsaWithoutAdjacenciesData,
- sizeof(AdjacencyLsaWithoutAdjacenciesData)));
-
- LsaInfo lsaInfo = adjacencyLsa.getLsaInfo();
- BOOST_CHECK_EQUAL(lsaInfo.getOriginRouter(), "test");
- BOOST_CHECK_EQUAL(lsaInfo.getSequenceNumber(), 128);
- BOOST_CHECK_EQUAL(lsaInfo.getExpirationPeriod(), ndn::time::milliseconds(10000));
-
- BOOST_CHECK_EQUAL(adjacencyLsa.hasAdjacencies(), false);
-}
-
-
-BOOST_AUTO_TEST_CASE(AdjacencyLsaClear)
-{
- AdjacencyLsa adjacencyLsa;
-
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("test");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(ndn::time::milliseconds(10000));
- adjacencyLsa.setLsaInfo(lsaInfo);
-
- Adjacency adjacency1;
- adjacency1.setName("test1");
- adjacency1.setUri("test1");
- adjacency1.setCost(128);
- adjacencyLsa.addAdjacency(adjacency1);
- BOOST_CHECK_EQUAL(adjacencyLsa.getAdjacencies().size(), 1);
-
- std::list<Adjacency> adjacencies = adjacencyLsa.getAdjacencies();
- std::list<Adjacency>::const_iterator it = adjacencies.begin();
- BOOST_CHECK_EQUAL(it->getName(), "test1");
- BOOST_CHECK_EQUAL(it->getUri(), "test1");
- BOOST_CHECK_EQUAL(it->getCost(), 128);
-
- adjacencyLsa.clearAdjacencies();
- BOOST_CHECK_EQUAL(adjacencyLsa.getAdjacencies().size(), 0);
-
- Adjacency adjacency2;
- adjacency2.setName("test2");
- adjacency2.setUri("test2");
- adjacency2.setCost(128);
- adjacencyLsa.addAdjacency(adjacency2);
- BOOST_CHECK_EQUAL(adjacencyLsa.getAdjacencies().size(), 1);
-
- adjacencies = adjacencyLsa.getAdjacencies();
- it = adjacencies.begin();
- BOOST_CHECK_EQUAL(it->getName(), "test2");
- BOOST_CHECK_EQUAL(it->getUri(), "test2");
- BOOST_CHECK_EQUAL(it->getCost(), 128);
-}
-
-BOOST_AUTO_TEST_CASE(AdjacencyLsaOutputStream)
-{
- AdjacencyLsa adjacencyLsa;
-
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("test");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(ndn::time::milliseconds(10000));
- adjacencyLsa.setLsaInfo(lsaInfo);
-
- Adjacency adjacency1;
- adjacency1.setName("test1");
- adjacency1.setUri("test1");
- adjacency1.setCost(128);
- adjacencyLsa.addAdjacency(adjacency1);
-
- Adjacency adjacency2;
- adjacency2.setName("test2");
- adjacency2.setUri("test2");
- adjacency2.setCost(128);
- adjacencyLsa.addAdjacency(adjacency2);
-
- std::ostringstream os;
- os << adjacencyLsa;
-
- BOOST_CHECK_EQUAL(os.str(), "AdjacencyLsa("
- "LsaInfo("
- "OriginRouter: /test, "
- "SequenceNumber: 128, "
- "ExpirationPeriod: 10000 milliseconds), "
- "Adjacency(Name: /test1, Uri: test1, Cost: 128), "
- "Adjacency(Name: /test2, Uri: test2, Cost: 128))");
-}
-
-BOOST_AUTO_TEST_SUITE_END()
-
-} // namespace test
-} // namespace tlv
-} // namespace nlsr
diff --git a/tests/tlv/test-adjacency.cpp b/tests/tlv/test-adjacency.cpp
deleted file mode 100644
index 6e3b754..0000000
--- a/tests/tlv/test-adjacency.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2019, The University of Memphis,
- * Regents of the University of California,
- * Arizona Board of Regents.
- *
- * This file is part of NLSR (Named-data Link State Routing).
- * See AUTHORS.md for complete list of NLSR authors and contributors.
- *
- * NLSR is free software: you can redistribute it and/or modify it under the terms
- * of the GNU General Public License as published by the Free Software Foundation,
- * either version 3 of the License, or (at your option) any later version.
- *
- * NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * NLSR, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
-
-#include "tlv/adjacency.hpp"
-
-#include "tests/boost-test.hpp"
-
-namespace nlsr {
-namespace tlv {
-namespace test {
-
-BOOST_AUTO_TEST_SUITE(TlvTestAdjacency)
-
-const uint8_t AdjacencyData[] =
-{
- // Header
- 0x84, 0x30,
- // Name
- 0x07, 0x16, 0x08, 0x04, 0x74, 0x65, 0x73, 0x74, 0x08, 0x09, 0x61, 0x64, 0x6a, 0x61,
- 0x63, 0x65, 0x6e, 0x63, 0x79, 0x08, 0x03, 0x74, 0x6c, 0x76,
- // Uri
- 0x8d, 0x13, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x61, 0x64, 0x6a, 0x61, 0x63, 0x65,
- 0x6e, 0x63, 0x79, 0x2f, 0x74, 0x6c, 0x76,
- // Cost
- 0x8c, 0x01, 0x80
-};
-
-BOOST_AUTO_TEST_CASE(AdjacencyEncode)
-{
- Adjacency adjacency;
- adjacency.setName("/test/adjacency/tlv");
- adjacency.setUri("/test/adjacency/tlv");
- adjacency.setCost(128);
-
- const ndn::Block& wire = adjacency.wireEncode();
-
- BOOST_REQUIRE_EQUAL_COLLECTIONS(AdjacencyData,
- AdjacencyData + sizeof(AdjacencyData),
- wire.begin(), wire.end());
-}
-
-BOOST_AUTO_TEST_CASE(AdjacencyDecode)
-{
- Adjacency adjacency;
-
- adjacency.wireDecode(ndn::Block(AdjacencyData, sizeof(AdjacencyData)));
-
- ndn::Name name("/test/adjacency/tlv");
- BOOST_REQUIRE_EQUAL(adjacency.getName(), name);
- BOOST_REQUIRE_EQUAL(adjacency.getUri(), "/test/adjacency/tlv");
- BOOST_REQUIRE_EQUAL(adjacency.getCost(), 128);
-}
-
-BOOST_AUTO_TEST_CASE(AdjacencyOutputStream)
-{
- Adjacency adjacency;
- adjacency.setName("/test/adjacency/tlv");
- adjacency.setUri("/test/adjacency/tlv");
- adjacency.setCost(128);
-
- std::ostringstream os;
- os << adjacency;
-
- BOOST_CHECK_EQUAL(os.str(), "Adjacency(Name: /test/adjacency/tlv, "
- "Uri: /test/adjacency/tlv, "
- "Cost: 128)");
-}
-
-BOOST_AUTO_TEST_SUITE_END()
-
-} // namespace test
-} // namespace tlv
-} // namespace nlsr
diff --git a/tests/tlv/test-coordinate-lsa.cpp b/tests/tlv/test-coordinate-lsa.cpp
deleted file mode 100644
index 225c708..0000000
--- a/tests/tlv/test-coordinate-lsa.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2019, The University of Memphis,
- * Regents of the University of California,
- * Arizona Board of Regents.
- *
- * This file is part of NLSR (Named-data Link State Routing).
- * See AUTHORS.md for complete list of NLSR authors and contributors.
- *
- * NLSR is free software: you can redistribute it and/or modify it under the terms
- * of the GNU General Public License as published by the Free Software Foundation,
- * either version 3 of the License, or (at your option) any later version.
- *
- * NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * NLSR, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
-
-#include "tlv/coordinate-lsa.hpp"
-
-#include "tests/boost-test.hpp"
-
-namespace nlsr {
-namespace tlv {
-namespace test {
-
-BOOST_AUTO_TEST_SUITE(TlvTestCoordinateLsa)
-
-const uint8_t CoordinateLsaData[] =
-{
- // Header
- 0x85, 0x27,
- // LsaInfo
- 0x80, 0x11, 0x81, 0x08, 0x07, 0x06, 0x08, 0x04, 0x74, 0x65, 0x73, 0x74, 0x82, 0x01,
- 0x80, 0x8b, 0x02, 0x27, 0x10,
- // HyperbolicRadius
- 0x87, 0x08, 0x3f, 0xfa, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
- // HyperbolicAngle
- 0x88, 0x08, 0x3f, 0xfc, 0x7a, 0xe1, 0x47, 0xae, 0x14, 0x7b
-
-};
-
-BOOST_AUTO_TEST_CASE(CoordinateLsaEncode)
-{
- CoordinateLsa coordinateLsa;
-
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("test");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(ndn::time::milliseconds(10000));
- coordinateLsa.setLsaInfo(lsaInfo);
-
- coordinateLsa.setHyperbolicRadius(1.65);
- std::vector<double> angles;
- angles.push_back(1.78);
- coordinateLsa.setHyperbolicAngle(angles);
-
- const ndn::Block& wire = coordinateLsa.wireEncode();
-
- BOOST_REQUIRE_EQUAL_COLLECTIONS(CoordinateLsaData,
- CoordinateLsaData + sizeof(CoordinateLsaData),
- wire.begin(), wire.end());
-}
-
-BOOST_AUTO_TEST_CASE(CoordinateLsaDecode)
-{
- CoordinateLsa coordinateLsa;
-
- coordinateLsa.wireDecode(ndn::Block(CoordinateLsaData, sizeof(CoordinateLsaData)));
-
- BOOST_REQUIRE_EQUAL(coordinateLsa.getLsaInfo().getOriginRouter(), "test");
- BOOST_REQUIRE_EQUAL(coordinateLsa.getLsaInfo().getSequenceNumber(), 128);
- BOOST_REQUIRE_EQUAL(coordinateLsa.getLsaInfo().getExpirationPeriod(),
- ndn::time::milliseconds(10000));
- BOOST_REQUIRE_EQUAL(coordinateLsa.getHyperbolicRadius(), 1.65);
- std::vector<double> angles = {1.78};
- BOOST_REQUIRE(coordinateLsa.getHyperbolicAngle() == angles);
-}
-
-BOOST_AUTO_TEST_CASE(CoordinateLsaOutputStream)
-{
- CoordinateLsa coordinateLsa;
-
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("test");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(ndn::time::milliseconds(10000));
- coordinateLsa.setLsaInfo(lsaInfo);
-
- coordinateLsa.setHyperbolicRadius(1.65);
- std::vector<double> angles = {1.78};
- coordinateLsa.setHyperbolicAngle(angles);
-
- std::ostringstream os;
- os << coordinateLsa;
-
- BOOST_CHECK_EQUAL(os.str(), "CoordinateLsa("
- "LsaInfo(OriginRouter: /test, "
- "SequenceNumber: 128, "
- "ExpirationPeriod: 10000 milliseconds), "
- "HyperbolicRadius: 1.65, "
- "HyperbolicAngles: 1.78)");
-
- angles.push_back(3.21);
- coordinateLsa.setHyperbolicAngle(angles);
-
- std::ostringstream os2;
- os2 << coordinateLsa;
-
- BOOST_CHECK_EQUAL(os2.str(), "CoordinateLsa("
- "LsaInfo(OriginRouter: /test, "
- "SequenceNumber: 128, "
- "ExpirationPeriod: 10000 milliseconds), "
- "HyperbolicRadius: 1.65, "
- "HyperbolicAngles: 1.78, 3.21)");
-}
-
-
-BOOST_AUTO_TEST_SUITE_END()
-
-} // namespace test
-} // namespace tlv
-} // namespace nlsr
diff --git a/tests/tlv/test-destination.cpp b/tests/tlv/test-destination.cpp
index 8e2d177..adc153e 100644
--- a/tests/tlv/test-destination.cpp
+++ b/tests/tlv/test-destination.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014-2019, The University of Memphis,
+ * Copyright (c) 2014-2020, The University of Memphis,
* Regents of the University of California,
* Arizona Board of Regents.
*
diff --git a/tests/tlv/test-lsa-info.cpp b/tests/tlv/test-lsa-info.cpp
deleted file mode 100644
index 46157a5..0000000
--- a/tests/tlv/test-lsa-info.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2019, The University of Memphis,
- * Regents of the University of California,
- * Arizona Board of Regents.
- *
- * This file is part of NLSR (Named-data Link State Routing).
- * See AUTHORS.md for complete list of NLSR authors and contributors.
- *
- * NLSR is free software: you can redistribute it and/or modify it under the terms
- * of the GNU General Public License as published by the Free Software Foundation,
- * either version 3 of the License, or (at your option) any later version.
- *
- * NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * NLSR, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
-
-#include "tlv/lsa-info.hpp"
-
-#include "tests/boost-test.hpp"
-#include "tests/mocks/lsa.hpp"
-
-namespace nlsr {
-namespace tlv {
-namespace test {
-
-BOOST_AUTO_TEST_SUITE(TlvTestLsaInfo)
-
-const uint8_t LsaInfoData[] =
-{
- // Header
- 0x80, 0x21,
- // OriginRouter
- 0x81, 0x18, 0x07, 0x16, 0x08, 0x04, 0x74, 0x65, 0x73, 0x74, 0x08, 0x03, 0x6c, 0x73,
- 0x61, 0x08, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x08, 0x03, 0x74, 0x6c, 0x76,
- // SequenceNumber
- 0x82, 0x01, 0x80,
- // ExpirationPeriod
- 0x8b, 0x02, 0x27, 0x10
-};
-
-const uint8_t LsaInfoDataInfiniteExpirationPeriod[] =
-{
- // Header
- 0x80, 0x1d,
- // OriginRouter
- 0x81, 0x18, 0x07, 0x16, 0x08, 0x04, 0x74, 0x65, 0x73, 0x74, 0x08, 0x03, 0x6c, 0x73,
- 0x61, 0x08, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x08, 0x03, 0x74, 0x6c, 0x76,
- // SequenceNumber
- 0x82, 0x1, 0x80
-};
-
-BOOST_AUTO_TEST_CASE(LsaInfoEncode)
-{
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("/test/lsa/info/tlv");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(ndn::time::milliseconds(10000));
-
- const ndn::Block& wire = lsaInfo.wireEncode();
-
- BOOST_REQUIRE_EQUAL_COLLECTIONS(LsaInfoData,
- LsaInfoData + sizeof(LsaInfoData),
- wire.begin(), wire.end());
-}
-
-BOOST_AUTO_TEST_CASE(LsaInfoDecode)
-{
- LsaInfo lsaInfo;
-
- lsaInfo.wireDecode(ndn::Block(LsaInfoData, sizeof(LsaInfoData)));
-
- ndn::Name originRouter("/test/lsa/info/tlv");
- BOOST_REQUIRE_EQUAL(lsaInfo.getOriginRouter(), originRouter);
- BOOST_REQUIRE_EQUAL(lsaInfo.getSequenceNumber(), 128);
- BOOST_REQUIRE_EQUAL(lsaInfo.getExpirationPeriod(), ndn::time::milliseconds(10000));
- BOOST_REQUIRE_EQUAL(lsaInfo.hasInfiniteExpirationPeriod(), false);
-}
-
-BOOST_AUTO_TEST_CASE(LsaInfoInfiniteExpirationPeriodEncode)
-{
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("/test/lsa/info/tlv");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(LsaInfo::INFINITE_EXPIRATION_PERIOD);
-
- const ndn::Block& wire = lsaInfo.wireEncode();
-
- BOOST_REQUIRE_EQUAL_COLLECTIONS(LsaInfoDataInfiniteExpirationPeriod,
- LsaInfoDataInfiniteExpirationPeriod +
- sizeof(LsaInfoDataInfiniteExpirationPeriod),
- wire.begin(), wire.end());
-}
-
-BOOST_AUTO_TEST_CASE(LsaInfoInfiniteExpirationPeriodDecode)
-{
- LsaInfo lsaInfo;
-
- lsaInfo.wireDecode(ndn::Block(LsaInfoDataInfiniteExpirationPeriod,
- sizeof(LsaInfoDataInfiniteExpirationPeriod)));
-
- ndn::Name originRouter("/test/lsa/info/tlv");
- BOOST_REQUIRE_EQUAL(lsaInfo.getOriginRouter(), originRouter);
- BOOST_REQUIRE_EQUAL(lsaInfo.getSequenceNumber(), 128);
- BOOST_REQUIRE_EQUAL(lsaInfo.getExpirationPeriod(), LsaInfo::INFINITE_EXPIRATION_PERIOD);
- BOOST_REQUIRE_EQUAL(lsaInfo.hasInfiniteExpirationPeriod(), true);
-}
-
-BOOST_AUTO_TEST_CASE(LsaInfoOutputStream)
-{
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("/test/lsa/info/tlv");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(ndn::time::milliseconds(10000));
-
- std::ostringstream os;
- os << lsaInfo;
-
- BOOST_CHECK_EQUAL(os.str(), "LsaInfo(OriginRouter: /test/lsa/info/tlv, SequenceNumber: 128, "
- "ExpirationPeriod: 10000 milliseconds)");
-}
-
-BOOST_AUTO_TEST_CASE(LsaInfoMake)
-{
- nlsr::test::MockLsa lsa;
- lsa.setOrigRouter("/test/lsa/info/tlv");
- lsa.setLsSeqNo(128);
- lsa.setExpirationTimePoint(ndn::time::system_clock::now());
-
- std::shared_ptr<LsaInfo> lsaInfo = makeLsaInfo(lsa);
- BOOST_CHECK_EQUAL(lsaInfo->getOriginRouter(), lsa.getOrigRouter());
- BOOST_CHECK_EQUAL(lsaInfo->getSequenceNumber(), lsa.getLsSeqNo());
- BOOST_CHECK_LE(lsaInfo->getExpirationPeriod(), ndn::time::milliseconds(0));
-}
-
-BOOST_AUTO_TEST_SUITE_END()
-
-} // namespace test
-} // namespace tlv
-} // namespace nlsr
diff --git a/tests/tlv/test-name-lsa.cpp b/tests/tlv/test-name-lsa.cpp
deleted file mode 100644
index 885d225..0000000
--- a/tests/tlv/test-name-lsa.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2019, The University of Memphis,
- * Regents of the University of California,
- * Arizona Board of Regents.
- *
- * This file is part of NLSR (Named-data Link State Routing).
- * See AUTHORS.md for complete list of NLSR authors and contributors.
- *
- * NLSR is free software: you can redistribute it and/or modify it under the terms
- * of the GNU General Public License as published by the Free Software Foundation,
- * either version 3 of the License, or (at your option) any later version.
- *
- * NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * NLSR, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
-
-#include "tlv/name-lsa.hpp"
-
-#include "tests/boost-test.hpp"
-
-namespace nlsr {
-namespace tlv {
-namespace test {
-
-BOOST_AUTO_TEST_SUITE(TlvTestNameLsa)
-
-const uint8_t NameLsaWithNamesData[] =
-{
- // Header
- 0x89, 0x25,
- // LsaInfo
- 0x80, 0x11, 0x81, 0x08, 0x07, 0x06, 0x08, 0x04, 0x74, 0x65, 0x73, 0x74, 0x82, 0x01,
- 0x80, 0x8b, 0x02, 0x27, 0x10,
- // Name
- 0x07, 0x07, 0x08, 0x05, 0x74, 0x65, 0x73, 0x74, 0x31,
- // Name
- 0x07, 0x07, 0x08, 0x05, 0x74, 0x65, 0x73, 0x74, 0x32
-};
-
-const uint8_t NameLsaWithoutNamesData[] =
-{
- // Header
- 0x89, 0x13,
- // LsaInfo
- 0x80, 0x11, 0x81, 0x08, 0x07, 0x06, 0x08, 0x04, 0x74, 0x65, 0x73, 0x74, 0x82, 0x01,
- 0x80, 0x8b, 0x02, 0x27, 0x10,
-};
-
-BOOST_AUTO_TEST_CASE(NameLsaEncodeWithNames)
-{
- NameLsa nameLsa;
-
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("test");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(ndn::time::milliseconds(10000));
- nameLsa.setLsaInfo(lsaInfo);
-
- nameLsa.addName("test1");
- nameLsa.addName("test2");
-
- const ndn::Block& wire = nameLsa.wireEncode();
-
- BOOST_REQUIRE_EQUAL_COLLECTIONS(NameLsaWithNamesData,
- NameLsaWithNamesData + sizeof(NameLsaWithNamesData),
- wire.begin(), wire.end());
-}
-
-BOOST_AUTO_TEST_CASE(NameLsaDecodeWithNames)
-{
- NameLsa nameLsa;
-
- nameLsa.wireDecode(ndn::Block(NameLsaWithNamesData, sizeof(NameLsaWithNamesData)));
-
- LsaInfo lsaInfo = nameLsa.getLsaInfo();
- BOOST_CHECK_EQUAL(lsaInfo.getOriginRouter(), "test");
- BOOST_CHECK_EQUAL(lsaInfo.getSequenceNumber(), 128);
- BOOST_CHECK_EQUAL(lsaInfo.getExpirationPeriod(), ndn::time::milliseconds(10000));
-
- BOOST_CHECK_EQUAL(nameLsa.hasNames(), true);
- std::list<ndn::Name> names = nameLsa.getNames();
- std::list<ndn::Name>::const_iterator it = names.begin();
- BOOST_CHECK_EQUAL(*it, "test1");
-
- it++;
- BOOST_CHECK_EQUAL(*it, "test2");
-}
-
-BOOST_AUTO_TEST_CASE(NameLsaEncodeWithoutNames)
-{
- NameLsa nameLsa;
-
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("test");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(ndn::time::milliseconds(10000));
- nameLsa.setLsaInfo(lsaInfo);
-
- const ndn::Block& wire = nameLsa.wireEncode();
-
- BOOST_REQUIRE_EQUAL_COLLECTIONS(NameLsaWithoutNamesData,
- NameLsaWithoutNamesData + sizeof(NameLsaWithoutNamesData),
- wire.begin(), wire.end());
-}
-
-BOOST_AUTO_TEST_CASE(NameLsaDecodeWithoutNames)
-{
- NameLsa nameLsa;
-
- nameLsa.wireDecode(ndn::Block(NameLsaWithoutNamesData, sizeof(NameLsaWithoutNamesData)));
-
- LsaInfo lsaInfo = nameLsa.getLsaInfo();
- BOOST_CHECK_EQUAL(lsaInfo.getOriginRouter(), "test");
- BOOST_CHECK_EQUAL(lsaInfo.getSequenceNumber(), 128);
- BOOST_CHECK_EQUAL(lsaInfo.getExpirationPeriod(), ndn::time::milliseconds(10000));
-
- BOOST_CHECK_EQUAL(nameLsa.hasNames(), false);
-}
-
-BOOST_AUTO_TEST_CASE(NameLsaClear)
-{
- NameLsa nameLsa;
-
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("test");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(ndn::time::milliseconds(10000));
- nameLsa.setLsaInfo(lsaInfo);
-
- nameLsa.addName("test1");
- BOOST_CHECK_EQUAL(nameLsa.getNames().size(), 1);
-
- std::list<ndn::Name> names = nameLsa.getNames();
- std::list<ndn::Name>::const_iterator it = names.begin();
- BOOST_CHECK_EQUAL(*it, "test1");
-
- nameLsa.clearNames();
- BOOST_CHECK_EQUAL(nameLsa.getNames().size(), 0);
-
- nameLsa.addName("test2");
- BOOST_CHECK_EQUAL(nameLsa.getNames().size(), 1);
-
- names = nameLsa.getNames();
- it = names.begin();
- BOOST_CHECK_EQUAL(*it, "test2");
-}
-
-BOOST_AUTO_TEST_CASE(AdjacencyLsaOutputStream)
-{
- NameLsa nameLsa;
-
- LsaInfo lsaInfo;
- lsaInfo.setOriginRouter("test");
- lsaInfo.setSequenceNumber(128);
- lsaInfo.setExpirationPeriod(ndn::time::milliseconds(10000));
- nameLsa.setLsaInfo(lsaInfo);
-
- nameLsa.addName("test1");
- nameLsa.addName("test2");
-
- std::ostringstream os;
- os << nameLsa;
-
- BOOST_CHECK_EQUAL(os.str(), "NameLsa("
- "LsaInfo("
- "OriginRouter: /test, "
- "SequenceNumber: 128, "
- "ExpirationPeriod: 10000 milliseconds), "
- "Name: /test1, "
- "Name: /test2)");
-}
-
-BOOST_AUTO_TEST_SUITE_END()
-
-} // namespace test
-} // namespace tlv
-} // namespace nlsr
diff --git a/tests/tlv/test-nexthops.cpp b/tests/tlv/test-nexthops.cpp
index 12a479e..f5b4d29 100644
--- a/tests/tlv/test-nexthops.cpp
+++ b/tests/tlv/test-nexthops.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014-2019, The University of Memphis,
+ * Copyright (c) 2014-2020, The University of Memphis,
* Regents of the University of California,
* Arizona Board of Regents.
*
diff --git a/tests/tlv/test-routing-table-entry.cpp b/tests/tlv/test-routing-table-entry.cpp
index 378dfd9..338945b 100644
--- a/tests/tlv/test-routing-table-entry.cpp
+++ b/tests/tlv/test-routing-table-entry.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014-2019, The University of Memphis,
+ * Copyright (c) 2014-2020, The University of Memphis,
* Regents of the University of California,
* Arizona Board of Regents.
*
diff --git a/tests/tlv/test-routing-table.cpp b/tests/tlv/test-routing-table.cpp
index ba8cef6..70c25c9 100644
--- a/tests/tlv/test-routing-table.cpp
+++ b/tests/tlv/test-routing-table.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014-2019, The University of Memphis,
+ * Copyright (c) 2014-2020, The University of Memphis,
* Regents of the University of California,
* Arizona Board of Regents.
*
@@ -107,7 +107,6 @@
BOOST_AUTO_TEST_CASE(RoutingTableDecode2)
{
RoutingTableStatus rtStatus;
-
rtStatus.wireDecode(ndn::Block(RoutingTableData2, sizeof(RoutingTableData2)));
BOOST_CHECK_EQUAL(rtStatus.hasRoutingTable(), false);