fw: per upstream retx exponential suppression for multicast strategy

refs: #4066

Change-Id: Ic1047b871dc9dc040e95ac5edceaae9994cd2849
diff --git a/tests/daemon/fw/algorithm.t.cpp b/tests/daemon/fw/algorithm.t.cpp
index 0986d24..8a188e6 100644
--- a/tests/daemon/fw/algorithm.t.cpp
+++ b/tests/daemon/fw/algorithm.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2016,  Regents of the University of California,
+/*
+ * Copyright (c) 2014-2017,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -204,6 +204,26 @@
   BOOST_CHECK_EQUAL(hasPendingOutRecords(entry), false);
 }
 
+BOOST_FIXTURE_TEST_CASE(GetLastOutgoing, UnitTestTimeFixture)
+{
+  auto face1 = make_shared<DummyFace>();
+  auto face2 = make_shared<DummyFace>();
+
+  shared_ptr<Interest> interest = makeInterest("ndn:/c1I7QCtc");
+  pit::Entry entry(*interest);
+
+  time::steady_clock::TimePoint before = time::steady_clock::now();
+
+  entry.insertOrUpdateOutRecord(*face1, *interest);
+  this->advanceClocks(time::milliseconds(1000));
+
+  BOOST_CHECK_EQUAL(getLastOutgoing(entry), before);
+
+  entry.insertOrUpdateOutRecord(*face2, *interest);
+
+  BOOST_CHECK_EQUAL(getLastOutgoing(entry), time::steady_clock::now());
+}
+
 BOOST_AUTO_TEST_SUITE_END() // TestPitAlgorithm
 BOOST_AUTO_TEST_SUITE_END() // Fw