fw: pull FaceTable construction out of Forwarder class

Refs: #4922, #4973
Change-Id: Ibbd4a8840cb0d01ebbd4cabf9c34fa78a1d23db1
diff --git a/tests/daemon/fw/topology-tester.hpp b/tests/daemon/fw/topology-tester.hpp
index 9243476..6e5cb95 100644
--- a/tests/daemon/fw/topology-tester.hpp
+++ b/tests/daemon/fw/topology-tester.hpp
@@ -260,7 +260,7 @@
   Forwarder&
   getForwarder(TopologyNode i)
   {
-    return *m_forwarders.at(i);
+    return m_forwarders.at(i)->forwarder;
   }
 
   /** \brief sets strategy on forwarder \p i
@@ -310,7 +310,10 @@
   /** \brief enables packet capture on every forwarder face
    */
   void
-  enablePcap(bool isEnabled = true);
+  enablePcap(bool isEnabled = true)
+  {
+    m_wantPcap = isEnabled;
+  }
 
   /** \return captured packets on a forwarder face
    *  \pre enablePcap(true) is in effect when the face was created
@@ -342,12 +345,26 @@
            ndn::nfd::FaceScope scope, ndn::nfd::LinkType linkType);
 
 private:
-  bool m_wantPcap = false;
-  std::vector<unique_ptr<Forwarder>> m_forwarders;
-  std::vector<std::string> m_forwarderLabels;
+  class TopologyForwarder
+  {
+  public:
+    explicit
+    TopologyForwarder(const std::string& label)
+      : label(label)
+    {
+    }
+
+  public:
+    std::string label;
+    FaceTable faceTable;
+    Forwarder forwarder{faceTable};
+  };
+
+  std::vector<unique_ptr<TopologyForwarder>> m_forwarders;
   std::vector<shared_ptr<TopologyLink>> m_links;
   std::vector<shared_ptr<TopologyAppLink>> m_appLinks;
   std::vector<shared_ptr<TopologyBareLink>> m_bareLinks;
+  bool m_wantPcap = false;
 };
 
 } // namespace tests