diff --git a/tests/unit-tests/mgmt/nfd/control-command.t.cpp b/tests/unit-tests/mgmt/nfd/control-command.t.cpp
index 0cc3642..d76b67c 100644
--- a/tests/unit-tests/mgmt/nfd/control-command.t.cpp
+++ b/tests/unit-tests/mgmt/nfd/control-command.t.cpp
@@ -299,6 +299,69 @@
   command.validateResponse(p3);
 }
 
+BOOST_AUTO_TEST_CASE(CsEraseRequest)
+{
+  CsEraseCommand command;
+
+  // good no-limit request
+  ControlParameters p1;
+  p1.setName("/u4LYPNU8Q");
+  command.validateRequest(p1);
+  BOOST_CHECK(Name("/PREFIX/cs/erase").isPrefixOf(command.getRequestName("/PREFIX", p1)));
+
+  // good limit-entries request
+  ControlParameters p2;
+  p2.setName("/IMw1RaLF");
+  p2.setNCsEntries(177);
+  command.validateRequest(p2);
+
+  // bad request: zero entry
+  ControlParameters p3;
+  p3.setName("/ahMID1jcib");
+  p3.setNCsEntries(0);
+  BOOST_CHECK_THROW(command.validateRequest(p3), ControlCommand::ArgumentError);
+
+  // bad request: forbidden field
+  ControlParameters p4(p2);
+  p4.setCapacity(278);
+  BOOST_CHECK_THROW(command.validateRequest(p3), ControlCommand::ArgumentError);
+}
+
+BOOST_AUTO_TEST_CASE(CsEraseResponse)
+{
+  CsEraseCommand command;
+
+  // good normal response
+  ControlParameters p1;
+  p1.setName("/TwiIwCdR");
+  p1.setNCsEntries(1);
+  command.validateResponse(p1);
+
+  // good limit exceeded request
+  ControlParameters p2;
+  p2.setName("/NMsiy44pr");
+  p2.setCapacity(360);
+  p2.setNCsEntries(360);
+  command.validateResponse(p2);
+
+  // good zero-entry response
+  ControlParameters p3;
+  p3.setName("/5f1LRPh1L");
+  p3.setNCsEntries(0);
+  command.validateResponse(p3);
+
+  // bad request: missing NCsEntries
+  ControlParameters p4(p1);
+  p4.unsetNCsEntries();
+  BOOST_CHECK_THROW(command.validateResponse(p4), ControlCommand::ArgumentError);
+
+  // bad request: zero capacity
+  ControlParameters p5(p1);
+  p5.setCapacity(0);
+  BOOST_CHECK_THROW(command.validateResponse(p5), ControlCommand::ArgumentError);
+
+}
+
 BOOST_AUTO_TEST_CASE(StrategyChoiceSet)
 {
   StrategyChoiceSetCommand command;
diff --git a/tests/unit-tests/mgmt/nfd/control-parameters.t.cpp b/tests/unit-tests/mgmt/nfd/control-parameters.t.cpp
index 80e8134..14be320 100644
--- a/tests/unit-tests/mgmt/nfd/control-parameters.t.cpp
+++ b/tests/unit-tests/mgmt/nfd/control-parameters.t.cpp
@@ -43,6 +43,7 @@
   BOOST_CHECK_EQUAL(decoded.hasOrigin(), false);
   BOOST_CHECK_EQUAL(decoded.hasCost(), false);
   BOOST_CHECK_EQUAL(decoded.hasCapacity(), false);
+  BOOST_CHECK_EQUAL(decoded.hasNCsEntries(), false);
   BOOST_CHECK_EQUAL(decoded.hasFlags(), false);
   BOOST_CHECK_EQUAL(decoded.hasMask(), false);
   BOOST_CHECK_EQUAL(decoded.hasStrategy(), false);
@@ -56,6 +57,7 @@
   input.setOrigin(ROUTE_ORIGIN_NLSR);
   input.setCost(1388);
   input.setCapacity(2632);
+  input.setNCsEntries(3100);
   input.setFlags(0xAFC4);
   input.setMask(0xF7A1);
   input.setStrategy("/strategy-name");
@@ -70,6 +72,7 @@
   BOOST_CHECK_EQUAL(decoded.hasOrigin(), true);
   BOOST_CHECK_EQUAL(decoded.hasCost(), true);
   BOOST_CHECK_EQUAL(decoded.hasCapacity(), true);
+  BOOST_CHECK_EQUAL(decoded.hasNCsEntries(), true);
   BOOST_CHECK_EQUAL(decoded.hasFlags(), true);
   BOOST_CHECK_EQUAL(decoded.hasMask(), true);
   BOOST_CHECK_EQUAL(decoded.hasStrategy(), true);
@@ -83,6 +86,7 @@
   BOOST_CHECK_EQUAL(decoded.getOrigin(), ROUTE_ORIGIN_NLSR);
   BOOST_CHECK_EQUAL(decoded.getCost(), 1388);
   BOOST_CHECK_EQUAL(decoded.getCapacity(), 2632);
+  BOOST_CHECK_EQUAL(decoded.getNCsEntries(), 3100);
   BOOST_CHECK_EQUAL(decoded.getFlags(), 0xAFC4);
   BOOST_CHECK_EQUAL(decoded.getMask(), 0xF7A1);
   BOOST_CHECK_EQUAL(decoded.getStrategy(), "/strategy-name");
@@ -96,6 +100,7 @@
   input.unsetOrigin();
   input.unsetCost();
   input.unsetCapacity();
+  input.unsetNCsEntries();
   input.unsetFlags();
   input.unsetMask();
   input.unsetStrategy();
@@ -108,6 +113,7 @@
   BOOST_CHECK_EQUAL(input.hasOrigin(), false);
   BOOST_CHECK_EQUAL(input.hasCost(), false);
   BOOST_CHECK_EQUAL(input.hasCapacity(), false);
+  BOOST_CHECK_EQUAL(input.hasNCsEntries(), false);
   BOOST_CHECK_EQUAL(input.hasFlags(), false);
   BOOST_CHECK_EQUAL(input.hasMask(), false);
   BOOST_CHECK_EQUAL(input.hasStrategy(), false);
