tests: introduce unit testing

As a sample, this commit also includes a test suite for
ndn::ping::client::StatisticsCollector class.

refs #2795

Change-Id: Ia0c7522ae26bee1cc9d172c7379ab62f84325ed7
diff --git a/tests/README.md b/tests/README.md
new file mode 100644
index 0000000..ddcd0c5
--- /dev/null
+++ b/tests/README.md
@@ -0,0 +1,23 @@
+ndn-tool unit tests
+===================
+
+## Assumptions
+
+Unit tests for a tool `foo` should be placed in the folder `foo` and build script for the tool
+should define `foo-objects` that includes all object files for the tool, except object files
+defining main function.
+
+For example,
+
+    bld(features='cxx',
+        name='tool-subtool-objects',
+        source=bld.path.ant_glob('subtool/*.cpp', excl='subtool/main.cpp'),
+        use='core-objects')
+
+    bld(features='cxx cxxprogram',
+        target='../../bin/subtool',
+        source='subtool/main.cpp',
+        use='tool-subtool-objects')
+
+    bld(name='tool-objects',
+        use='tool-subtool-objects')