table: eliminate Selectors from CS tests

refs #4805

Change-Id: I6ae48fc40e62aeeb41cde7530d6bfa6b6d5ef000
diff --git a/tests/daemon/table/cs-policy-priority-fifo.t.cpp b/tests/daemon/table/cs-policy-priority-fifo.t.cpp
index 37fcbc7..c059756 100644
--- a/tests/daemon/table/cs-policy-priority-fifo.t.cpp
+++ b/tests/daemon/table/cs-policy-priority-fifo.t.cpp
@@ -24,17 +24,13 @@
  */
 
 #include "table/cs-policy-priority-fifo.hpp"
-#include "table/cs.hpp"
 
-#include "tests/test-common.hpp"
-#include "tests/daemon/global-io-fixture.hpp"
+#include "tests/daemon/table/cs-fixture.hpp"
 
 namespace nfd {
 namespace cs {
 namespace tests {
 
-using namespace nfd::tests;
-
 BOOST_AUTO_TEST_SUITE(Table)
 BOOST_AUTO_TEST_SUITE(TestCsPriorityFifo)
 
@@ -44,107 +40,60 @@
   BOOST_CHECK_EQUAL(policyNames.count("priority_fifo"), 1);
 }
 
-BOOST_FIXTURE_TEST_CASE(EvictOne, GlobalIoTimeFixture)
+BOOST_FIXTURE_TEST_CASE(EvictOne, CsFixture)
 {
-  Cs cs(3);
   cs.setPolicy(make_unique<PriorityFifoPolicy>());
+  cs.setLimit(3);
 
-  shared_ptr<Data> dataA = makeData("ndn:/A");
-  dataA->setFreshnessPeriod(99999_ms);
-  dataA->wireEncode();
-  cs.insert(*dataA);
+  insert(1, "/A", [] (Data& data) { data.setFreshnessPeriod(99999_ms); });
+  insert(2, "/B", [] (Data& data) { data.setFreshnessPeriod(10_ms); });
+  insert(3, "/C", [] (Data& data) { data.setFreshnessPeriod(99999_ms); }, true);
+  advanceClocks(11_ms);
 
-  shared_ptr<Data> dataB = makeData("ndn:/B");
-  dataB->setFreshnessPeriod(10_ms);
-  dataB->wireEncode();
-  cs.insert(*dataB);
-
-  shared_ptr<Data> dataC = makeData("ndn:/C");
-  dataC->setFreshnessPeriod(99999_ms);
-  dataC->wireEncode();
-  cs.insert(*dataC, true);
-
-  this->advanceClocks(11_ms);
-
-  // evict unsolicited
-  shared_ptr<Data> dataD = makeData("ndn:/D");
-  dataD->setFreshnessPeriod(99999_ms);
-  dataD->wireEncode();
-  cs.insert(*dataD);
+  // evict /C (unsolicited)
+  insert(4, "/D", [] (Data& data) { data.setFreshnessPeriod(99999_ms); });
   BOOST_CHECK_EQUAL(cs.size(), 3);
-  cs.find(Interest("ndn:/C"),
-          bind([] { BOOST_CHECK(false); }),
-          bind([] { BOOST_CHECK(true); }));
+  startInterest("/C");
+  CHECK_CS_FIND(0);
 
-  // evict stale
-  shared_ptr<Data> dataE = makeData("ndn:/E");
-  dataE->setFreshnessPeriod(99999_ms);
-  dataE->wireEncode();
-  cs.insert(*dataE);
+  // evict /B (stale)
+  insert(5, "/E", [] (Data& data) { data.setFreshnessPeriod(99999_ms); });
   BOOST_CHECK_EQUAL(cs.size(), 3);
-  cs.find(Interest("ndn:/B"),
-          bind([] { BOOST_CHECK(false); }),
-          bind([] { BOOST_CHECK(true); }));
+  startInterest("/B");
+  CHECK_CS_FIND(0);
 
-  // evict fifo
-  shared_ptr<Data> dataF = makeData("ndn:/F");
-  dataF->setFreshnessPeriod(99999_ms);
-  dataF->wireEncode();
-  cs.insert(*dataF);
+  // evict /F (fresh)
+  insert(6, "/F", [] (Data& data) { data.setFreshnessPeriod(99999_ms); });
   BOOST_CHECK_EQUAL(cs.size(), 3);
-  cs.find(Interest("ndn:/A"),
-          bind([] { BOOST_CHECK(false); }),
-          bind([] { BOOST_CHECK(true); }));
+  startInterest("/A");
+  CHECK_CS_FIND(0);
 }
 
-BOOST_FIXTURE_TEST_CASE(Refresh, GlobalIoTimeFixture)
+BOOST_FIXTURE_TEST_CASE(Refresh, CsFixture)
 {
-  Cs cs(3);
   cs.setPolicy(make_unique<PriorityFifoPolicy>());
+  cs.setLimit(3);
 
-  shared_ptr<Data> dataA = makeData("ndn:/A");
-  dataA->setFreshnessPeriod(99999_ms);
-  dataA->wireEncode();
-  cs.insert(*dataA);
+  insert(1, "/A", [] (Data& data) { data.setFreshnessPeriod(99999_ms); });
+  insert(2, "/B", [] (Data& data) { data.setFreshnessPeriod(10_ms); });
+  insert(3, "/C", [] (Data& data) { data.setFreshnessPeriod(10_ms); });
+  advanceClocks(11_ms);
 
-  shared_ptr<Data> dataB = makeData("ndn:/B");
-  dataB->setFreshnessPeriod(10_ms);
-  dataB->wireEncode();
-  cs.insert(*dataB);
-
-  shared_ptr<Data> dataC = makeData("ndn:/C");
-  dataC->setFreshnessPeriod(10_ms);
-  dataC->wireEncode();
-  cs.insert(*dataC);
-
-  this->advanceClocks(11_ms);
-
-  // refresh dataB
-  shared_ptr<Data> dataB2 = make_shared<Data>(*dataB);
-  dataB2->wireEncode();
-  cs.insert(*dataB2);
+  // refresh /B
+  insert(12, "/B", [] (Data& data) { data.setFreshnessPeriod(0_ms); });
   BOOST_CHECK_EQUAL(cs.size(), 3);
-  cs.find(Interest("ndn:/A"),
-          bind([] { BOOST_CHECK(true); }),
-          bind([] { BOOST_CHECK(false); }));
+  startInterest("/A");
+  CHECK_CS_FIND(1);
+  startInterest("/B");
+  CHECK_CS_FIND(12);
+  startInterest("/C");
+  CHECK_CS_FIND(3);
 
-  cs.find(Interest("ndn:/B"),
-          bind([] { BOOST_CHECK(true); }),
-          bind([] { BOOST_CHECK(false); }));
-
-  cs.find(Interest("ndn:/C"),
-          bind([] { BOOST_CHECK(true); }),
-          bind([] { BOOST_CHECK(false); }));
-
-  // evict dataC stale
-  shared_ptr<Data> dataD = makeData("ndn:/D");
-  dataD->setFreshnessPeriod(99999_ms);
-  dataD->wireEncode();
-  cs.insert(*dataD);
+  // evict /C from stale queue
+  insert(4, "/D", [] (Data& data) { data.setFreshnessPeriod(99999_ms); });
   BOOST_CHECK_EQUAL(cs.size(), 3);
-  cs.find(Interest("ndn:/C"),
-          bind([] { BOOST_CHECK(false); }),
-          bind([] { BOOST_CHECK(true); }));
+  startInterest("/C");
+  CHECK_CS_FIND(0);
 }
 
 BOOST_AUTO_TEST_SUITE_END() // TestCsPriorityFifo