regression test (not completed)
diff --git a/test/basic-regression-test.cc b/test/basic-regression-test.cc
new file mode 100644
index 0000000..b4625bb
--- /dev/null
+++ b/test/basic-regression-test.cc
@@ -0,0 +1,185 @@
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2011 University of California, Los Angeles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Author: Ilya Moiseenko <iliamo@cs.ucla.edu>
+ */
+
+#include "ns3/test.h"
+#include "ns3/annotated-topology-reader.h"
+#include "ns3/ccnx-interest-header.h"
+#include "ns3/uinteger.h"
+#include "ns3/random-variable.h"
+#include <limits>
+#include "ns3/ccnx-header-helper.h"
+#include "ns3/header.h"
+#include "ns3/ccnx-name-components.h"
+#include "ns3/nstime.h"
+#include "ns3/buffer.h"
+#include "ns3/log.h"
+
+#include <ctime>
+#include <sstream>
+
+#include "ns3/internet-stack-helper.h"
+#include "ns3/ipv4-list-routing-helper.h"
+#include "ns3/ipv4-static-routing-helper.h"
+#include "ns3/point-to-point-helper.h"
+#include "ns3/application.h"
+#include "ns3/ipv4-static-routing-helper.h"
+#include "ns3/ipv4-list-routing-helper.h"
+#include "ns3/annotated-topology-reader.h"
+#include <list>
+
+
+using namespace ns3;
+using namespace std;
+
+NS_LOG_COMPONENT_DEFINE ("CcnxBasicRegressionTest");
+
+class BasicRegressionTest : public TestCase
+{
+public:
+
+ BasicRegressionTest ();
+ virtual ~BasicRegressionTest ();
+
+private:
+ virtual void DoRun (void);
+};
+
+BasicRegressionTest::BasicRegressionTest ()
+: TestCase ("Basic regression test")
+{
+}
+
+BasicRegressionTest::~BasicRegressionTest ()
+{
+}
+
+void
+BasicRegressionTest::DoRun(void)
+{
+ //string input ("/Users/iliamo/ns3-abstract-ndn/ns-3.11/src/NDNabstraction/examples/simpletopology.txt");
+
+ // Set up command line parameters used to control the experiment.
+ //CommandLine cmd;
+ //cmd.AddValue ("input", "Name of the input file.",
+ // input);
+ //cmd.Parse (argc, argv);
+
+
+ // ------------------------------------------------------------
+ // -- Read topology data.
+ // --------------------------------------------
+
+ string input = NS_TEST_SOURCEDIR;
+ input += "/testtopology.txt";
+
+ Ptr<AnnotatedTopologyReader> reader = CreateObject<AnnotatedTopologyReader> ();
+ reader->SetFileName (input);
+
+ NodeContainer nodes;
+ if (reader != 0)
+ {
+ nodes = reader->Read ();
+ }
+ else
+ {
+ NS_TEST_ASSERT_MSG_EQ (true, false, "file not found");
+ }
+
+ NS_TEST_ASSERT_MSG_EQ (7, reader->LinksSize (), "link count is wrong");
+
+
+ // ------------------------------------------------------------
+ // -- Create nodes and network stacks
+ // --------------------------------------------
+ NS_LOG_INFO ("creating internet stack");
+ InternetStackHelper stack;
+
+
+ //routing
+ /*Ipv4StaticRoutingHelper staticRouting;
+ Ipv4ListRoutingHelper listRH;
+ listRH.Add (staticRouting, 0);
+ stack.SetRoutingHelper (listRH); // has effect on the next Install ()
+ stack.Install (nodes);
+
+ NS_LOG_INFO ("creating ip4 addresses");
+ Ipv4AddressHelper address;
+ address.SetBase ("10.0.0.0", "255.255.255.252");*/
+
+ int totlinks = reader->LinksSize ();
+
+
+ /// applying settings
+ NS_LOG_INFO ("creating node containers");
+ NodeContainer* nc = new NodeContainer[totlinks];
+ TopologyReader::ConstLinksIterator iter;
+ int i = 0;
+ for ( iter = reader->LinksBegin (); iter != reader->LinksEnd (); iter++, i++ )
+ {
+ nc[i] = NodeContainer (iter->GetFromNode (), iter->GetToNode ());
+ }
+
+ NetDeviceContainer* ndc = new NetDeviceContainer[totlinks];
+ reader->ApplySettings(ndc,nc);
+ /// settings applied
+
+
+
+
+ // it creates little subnets, one for each couple of nodes.
+ /*NS_LOG_INFO ("creating ipv4 interfaces");
+ Ipv4InterfaceContainer* ipic = new Ipv4InterfaceContainer[totlinks];
+ for (int i = 0; i < totlinks; i++)
+ {
+ ipic[i] = address.Assign (ndc[i]);
+ address.NewNetwork ();
+ }
+
+ // ------------------------------------------------------------
+ // -- Run the simulation
+ // --------------------------------------------
+ NS_LOG_INFO ("Run Simulation.");
+ Simulator::Stop (Seconds (20));
+ Simulator::Run ();
+ Simulator::Destroy ();
+
+ delete[] ipic;
+ delete[] ndc;
+ delete[] nc;
+
+ NS_LOG_INFO ("Done.");
+
+ */
+}
+
+class BasicRegressionTestSuite : public TestSuite
+{
+public:
+ BasicRegressionTestSuite ();
+};
+
+BasicRegressionTestSuite::BasicRegressionTestSuite ()
+: TestSuite ("ccnx-basic-regression-test-suite", UNIT)
+{
+ SetDataDir (NS_TEST_SOURCEDIR);
+ AddTestCase (new BasicRegressionTest);
+}
+
+static BasicRegressionTestSuite suite;
diff --git a/test/testtopology.txt b/test/testtopology.txt
new file mode 100644
index 0000000..8e39d06
--- /dev/null
+++ b/test/testtopology.txt
@@ -0,0 +1,8 @@
+7 7
+1 3 10000 1 80 120
+2 3 10000 1 110 150
+3 4 1000 1 40 30
+3 5 1000 50 55 50
+4 5 1000 1 10 20
+5 6 10000 1 15 35
+5 7 10000 50 25 45