[mapguide-commits] r8805 - in sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14: . doc examples examples/ClockerPlugIn examples/DumperPlugIn examples/cppunittest examples/hierarchy examples/money examples/msvc6 examples/msvc6/CppUnitTestApp examples/msvc6/CppUnitTestApp/res examples/msvc6/HostApp examples/msvc6/HostApp/res examples/msvc6/TestPlugIn examples/qt examples/simple

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Mon Nov 2 17:11:30 PST 2015


Author: jng
Date: 2015-11-02 17:11:30 -0800 (Mon, 02 Nov 2015)
New Revision: 8805

Added:
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Doxyfile.in
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/FAQ
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Makefile.am
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Makefile.in
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Money.dox
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/cookbook.dox
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/footer.html
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/header.html
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/other_documentation.dox
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerListener.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerListener.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerModel.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerModel.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerPlugIn.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerPlugIn.dsp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerXmlHook.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerXmlHook.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Makefile.am
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Makefile.in
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ReadMe.txt
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Timer.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Timer.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/WinNtTimer.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/WinNtTimer.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperListener.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperListener.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperPlugIn.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperPlugIn.dsp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/Makefile.am
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/Makefile.in
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/Makefile.am
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/Makefile.in
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/BaseTestCase.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/BaseTestCase.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CoreSuite.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestMain.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestMain.dsp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestMain.dsw
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestPlugIn.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestPlugIn.dsp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestSuite.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTestCaseDecoratorTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTestCaseDecoratorTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExtensionSuite.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/FailureException.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/HelperMacrosTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/HelperMacrosTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/HelperSuite.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/Makefile.am
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/Makefile.in
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MessageTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MessageTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockFunctor.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockProtector.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestCase.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestCase.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestListener.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestListener.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/OrthodoxTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/OrthodoxTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/OutputSuite.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/RepeatedTestTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/RepeatedTestTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/StringToolsTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/StringToolsTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/SubclassedTestCase.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/SubclassedTestCase.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/SynchronizedTestResult.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestAssertTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestAssertTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCallerTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCallerTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCaseTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCaseTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestDecoratorTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestDecoratorTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestFailureTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestFailureTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestPathTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestPathTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultCollectorTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultCollectorTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSetUpTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSetUpTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSuiteTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSuiteTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ToolsSuite.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TrackedTestCase.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TrackedTestCase.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/UnitTestToolSuite.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlElementTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlElementTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlOutputterTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlOutputterTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiser.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiser.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiserTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiserTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/examples.dsw
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/examples.opt
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/BoardGame.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/BoardGame.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/BoardGameTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Chess.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Chess.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/ChessTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Makefile.am
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Makefile.in
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/hierarchy.dsp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/hierarchy.dsw
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/main.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/Makefile.am
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/Makefile.in
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/Money.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/MoneyApp.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/MoneyTest.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/MoneyTest.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/StdAfx.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/StdAfx.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/configure.in
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/money.dsp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/money.dsw
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/.cvsignore
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/.cvsignore
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.dsp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.dsw
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.rc
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestAppDlg.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestAppDlg.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/ReadMe.txt
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/Resource.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/StdAfx.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/StdAfx.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/res/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/res/CppUnitTestApp.ico
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/res/CppUnitTestApp.rc2
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/.cvsignore
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/ExampleTestCase.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/ExampleTestCase.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.dsp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.dsw
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.rc
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppDoc.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppDoc.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppView.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppView.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/MainFrm.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/MainFrm.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/Makefile.am
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/Resource.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/StdAfx.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/StdAfx.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/.cvsignore
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/HostApp.ico
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/HostApp.rc2
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/HostAppDoc.ico
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/Makefile.am
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/Toolbar.bmp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/Makefile.am
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/TestPlugIn/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/TestPlugIn/.cvsignore
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/.cvsignore
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/Example.pro
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/ExampleTestCase.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/ExampleTestCase.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/Main.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/build.bat
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/run.bat
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/ExampleTestCase.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/ExampleTestCase.h
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/Main.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/Makefile.am
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/Makefile.in
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/SimplePlugIn.cpp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/simple.dsp
   sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/simple_plugin.dsp
Log:
Restore the cppunit examples/docs dirs. The cppunit build process insists on building samples.

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Doxyfile.in
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Doxyfile.in	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Doxyfile.in	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,604 @@
+# Doxyfile 1.1.4
+
+# This file describes the settings to be used by doxygen for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project. 
+
+PROJECT_NAME          = CppUnit
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER        = "Version @VERSION@"
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY      = .
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, 
+# Spanish and Russian
+
+OUTPUT_LANGUAGE       = English
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it. 
+
+DISABLE_INDEX         = NO
+
+# If the EXTRACT_ALL tag is set to YES all classes and functions will be 
+# included in the documentation, even if no documentation was available. 
+
+EXTRACT_ALL           = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation. 
+
+EXTRACT_PRIVATE       = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members inside documented classes or files. 
+
+HIDE_UNDOC_MEMBERS    = NO
+
+# If the HIDE_UNDOC_CLASSESS tag is set to YES, Doxygen will hide all 
+# undocumented classes. 
+
+HIDE_UNDOC_CLASSES    = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this. 
+
+BRIEF_MEMBER_DESC     = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed. 
+
+REPEAT_BRIEF          = YES
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description. 
+
+ALWAYS_DETAILED_SEC   = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used. 
+
+FULL_PATH_NAMES       = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. 
+
+STRIP_FROM_PATH       = 
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation. 
+
+INTERNAL_DOCS         = NO
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a class diagram (in Html and LaTeX) for classes with base or 
+# super classes. Setting the tag to NO turns the diagrams off. 
+
+CLASS_DIAGRAMS        = YES
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+
+SOURCE_BROWSER        = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation. 
+
+INLINE_SOURCES        = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible. 
+
+STRIP_CODE_COMMENTS   = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO (the default) then Doxygen 
+# will only generate file names in lower case letters. If set to 
+# YES upper case letters are also allowed. This is useful if you have 
+# classes or files whose names only differ in case and if your file system 
+# supports case sensitive file names. 
+
+CASE_SENSE_NAMES      = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this. 
+
+VERBATIM_HEADERS      = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put list of the files that are included by a file in the documentation 
+# of that file. 
+
+SHOW_INCLUDE_FILES    = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the Javadoc-style will 
+# behave just like the Qt-style comments. 
+
+JAVADOC_AUTOBRIEF     = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# reimplements. 
+
+INHERIT_DOCS          = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members. 
+
+INLINE_INFO           = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order. 
+
+SORT_MEMBER_DOCS      = YES
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments. 
+
+TAB_SIZE              = 8
+
+# The ENABLE_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif. 
+
+ENABLED_SECTIONS      = 
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used. 
+
+QUIET                 = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used. 
+
+WARNINGS              = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled. 
+
+WARN_IF_UNDOCUMENTED  = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text. 
+
+WARN_FORMAT           = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces. 
+
+INPUT                 = @top_srcdir@/include @top_srcdir@/src/cppunit @srcdir@/other_documentation.dox  @srcdir@/cookbook.dox @srcdir@/Money.dox
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included. 
+
+FILE_PATTERNS         = *.cpp *.h
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used. 
+
+RECURSIVE             = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag. 
+
+EXCLUDE               = 
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories. 
+
+EXCLUDE_PATTERNS      = config-*.h
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command). 
+
+EXAMPLE_PATH          = ../examples
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included. 
+
+EXAMPLE_PATTERNS      = *.cpp *.h
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command). 
+
+IMAGE_PATH            = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output. 
+
+INPUT_FILTER          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces. 
+
+ALPHABETICAL_INDEX    = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20]) 
+
+COLS_IN_ALPHA_INDEX   = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers. 
+
+IGNORE_PREFIX         = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output. 
+
+GENERATE_HTML         = @enable_html_docs@
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path. 
+
+HTML_OUTPUT           = html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER           = @srcdir@/header.html
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER           = @srcdir@/footer.html
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet 
+
+HTML_STYLESHEET       = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used. 
+
+HTML_ALIGN_MEMBERS    = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation. 
+
+GENERATE_HTMLHELP     = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output. 
+
+GENERATE_LATEX        = @enable_latex_docs@
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path. 
+
+LATEX_OUTPUT          = latex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general. 
+
+COMPACT_LATEX         = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used. 
+
+PAPER_TYPE            = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output. 
+
+EXTRA_PACKAGES        = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing! 
+
+LATEX_HEADER          = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer. 
+
+PDF_HYPERLINKS        = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML. 
+
+LATEX_BATCHMODE       = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# For now this is experimental and is disabled by default. The RTF output 
+# is optimised for Word 97 and may not look too pretty with other readers 
+# or editors.
+
+GENERATE_RTF          = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path. 
+
+RTF_OUTPUT            = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general. 
+
+COMPACT_RTF           = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using a WORD or other. 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links. 
+
+RTF_HYPERLINKS        = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages 
+
+GENERATE_MAN          = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path. 
+
+MAN_OUTPUT            = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3) 
+
+MAN_EXTENSION         = .3
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files. 
+
+ENABLE_PREPROCESSING  = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. 
+
+MACRO_EXPANSION       = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found. 
+
+SEARCH_INCLUDES       = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor. 
+
+INCLUDE_PATH          = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed. 
+
+PREDEFINED             = CPPUNIT_HAVE_CPP_SOURCE_ANNOTATION \
+                         CPPUNIT_HAVE_NAMESPACES=1 \
+                         CPPUNIT_NS_BEGIN="namespace CppUnit {" \
+                         CPPUNIT_NS_END=} \
+                         CPPUNIT_NS=CppUnit
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED tag. 
+
+EXPAND_ONLY_PREDEF    = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles. 
+
+TAGFILES              = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads. 
+
+GENERATE_TAGFILE      = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed. 
+
+ALLEXTERNALS          = NO
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl'). 
+
+PERL_PATH             = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default) 
+
+HAVE_DOT              = @enable_dot@
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH           = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes. 
+
+COLLABORATION_GRAPH   = YES
+
+# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to 
+# YES then doxygen will generate a graph for each documented file showing 
+# the direct and indirect include dependencies of the file with other 
+# documented files. 
+
+INCLUDE_GRAPH         = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one. 
+
+GRAPHICAL_HIERARCHY   = YES
+
+# This tag can be used to specify the path where the dot tool can be found. 
+# If left blank, it is assumed the dot tool can be found on the path. 
+
+DOT_PATH              = 
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine   
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored. 
+
+SEARCHENGINE          = NO
+
+# The CGI_NAME tag should be the name of the CGI script that 
+# starts the search engine (doxysearch) with the correct parameters. 
+# A script with this name will be generated by doxygen. 
+
+CGI_NAME              = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the 
+# cgi binaries are located. See the documentation of your http daemon for 
+# details. 
+
+CGI_URL               = 
+
+# The DOC_URL tag should be the absolute URL to the directory where the 
+# documentation is located. If left blank the absolute path to the 
+# documentation, with file:// prepended to it, will be used. 
+
+DOC_URL               = 
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the 
+# documentation is located. If left blank the directory on the local machine 
+# will be used. 
+
+DOC_ABSPATH           = 
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary 
+# is installed. 
+
+BIN_ABSPATH           = /usr/local/bin/
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to 
+# documentation generated for other projects. This allows doxysearch to search 
+# the documentation for these projects as well. 
+
+EXT_DOC_PATHS         = 

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/FAQ
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/FAQ	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/FAQ	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,31 @@
+Frequently Asked Questions:
+---------------------------
+
+1) Questions relating to CppUnit
+   ----------------------------
+
+1.1) Isn't there an easier way to write unit tests than using TestCaller ?
+
+   Yes, there is. Macros have been created to take care of the repetitive 
+work. Look up include/extensions/HelperMacros.h in CppUnit documentation. 
+Most of CppUnit test suite is also written that way since they remain 
+compatible as CppUnit evolve. They also use RTTI if available.
+
+
+2) Questions related to Microsoft Visual VC++
+   -----------------------------------------
+
+2.1) Why does the compiler report an error when linking with CppUnit library?
+
+   You most likely are not using the same C-RunTime library as CppUnit.
+   In Release configuration, CppUnit use "Mulithreaded DLL".
+   In Debug configurations, CppUnit use "Debug Multihreaded DLL".
+   Check that Projects/Settings.../C++/Code Generation is indeed using
+the correct library.
+   
+2.2) Why does CppUnit generate warning 4786:... when compiling ?
+
+   I really don't have a clue. All CppUnit's headers starts by either
+including Portability.h or another CppUnit's header. Portability.h includes
+config-msvc6.h which disable that specific warning. The warning is generated
+by TestFactoryRegistry::m_factories. A solution to this problem is welcome.
\ No newline at end of file

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Makefile.am
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Makefile.am	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Makefile.am	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,67 @@
+EXTRA_DIST = $(doxygen_input) $(static_pages)
+
+doxygen_input = cookbook.dox other_documentation.dox header.html footer.html Money.dox
+static_pages = FAQ
+
+
+# DOC is defined if installer requests doc generation.
+# For now, we only install HTML documentation.  We could install manpages
+# using the following
+#   man_MANS = man/man3/CppUnit.3
+#   man/man3/CppUnit.3: dox
+# and an extra copy or two in the install-data-hook.  
+# However, the manpages do not appear to be tremendously useful, so
+# let's not bother.
+
+if DOC
+
+htmldir = $(pkgdatadir)/html
+html_DATA = $(static_pages) html/index.html
+
+install-data-hook:
+	cp -dpR html/* $(DESTDIR)$(htmldir)
+
+# Automake's "distcheck" is sensitive to having files left over
+# after "make uninstall", so we have to clean up the install hook.
+uninstall-local:
+	rm -rf $(DESTDIR)$(htmldir)
+
+dox: html/index.html
+
+else
+
+# We repeat the three targets in both the "if" and "else" clauses
+# of the conditional, because the generated makefile will contain
+# references to the targets (target "install" depends on target
+# "install-datahook", for example), and some make programs get upset
+# if no target exists.
+
+install-data-hook:
+uninstall-local:
+dox:
+
+endif
+
+
+all-local: dox
+
+
+html/index.html: Doxyfile $(doxygen_input)
+	"@DOXYGEN@"
+
+
+# Make tarfile to distribute the HTML documentation.
+doc-dist: dox
+	cp $(static_pages) html
+	tar -czf $(PACKAGE)-docs-$(VERSION).tar.gz -C html .
+
+pdf: @PACKAGE at .pdf
+ at PACKAGE@.pdf:
+	$(MAKE) -C ./latex pdf
+	ln -s ./latex/refman.ps	 @PACKAGE at .ps
+	ln -s ./latex/refman.pdf @PACKAGE at .pdf
+
+
+clean-local:
+	$(RM) -r latex
+	$(RM) -r html man @PACKAGE at .ps @PACKAGE at .pdf

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Makefile.in
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Makefile.in	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Makefile.in	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,380 @@
+# Makefile.in generated by automake 1.7.5 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPUNIT_BINARY_AGE = @CPPUNIT_BINARY_AGE@
+CPPUNIT_INTERFACE_AGE = @CPPUNIT_INTERFACE_AGE@
+CPPUNIT_MAJOR_VERSION = @CPPUNIT_MAJOR_VERSION@
+CPPUNIT_MICRO_VERSION = @CPPUNIT_MICRO_VERSION@
+CPPUNIT_MINOR_VERSION = @CPPUNIT_MINOR_VERSION@
+CPPUNIT_VERSION = @CPPUNIT_VERSION@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOC_FALSE = @DOC_FALSE@
+DOC_TRUE = @DOC_TRUE@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBADD_DL = @LIBADD_DL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+enable_dot = @enable_dot@
+enable_html_docs = @enable_html_docs@
+enable_latex_docs = @enable_latex_docs@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+EXTRA_DIST = $(doxygen_input) $(static_pages)
+
+doxygen_input = cookbook.dox other_documentation.dox header.html footer.html Money.dox
+static_pages = FAQ
+
+
+# DOC is defined if installer requests doc generation.
+# For now, we only install HTML documentation.  We could install manpages
+# using the following
+#   man_MANS = man/man3/CppUnit.3
+#   man/man3/CppUnit.3: dox
+# and an extra copy or two in the install-data-hook.  
+# However, the manpages do not appear to be tremendously useful, so
+# let's not bother.
+ at DOC_TRUE@htmldir = $(pkgdatadir)/html
+ at DOC_TRUE@html_DATA = $(static_pages) html/index.html
+subdir = doc
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config/config.h
+CONFIG_CLEAN_FILES = Doxyfile
+DIST_SOURCES =
+DATA = $(html_DATA)
+
+DIST_COMMON = Doxyfile.in Makefile.am Makefile.in
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  doc/Makefile
+Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+Doxyfile: $(top_builddir)/config.status Doxyfile.in
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+htmlDATA_INSTALL = $(INSTALL_DATA)
+install-htmlDATA: $(html_DATA)
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(htmldir)
+	@list='$(html_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " $(htmlDATA_INSTALL) $$d$$p $(DESTDIR)$(htmldir)/$$f"; \
+	  $(htmlDATA_INSTALL) $$d$$p $(DESTDIR)$(htmldir)/$$f; \
+	done
+
+uninstall-htmlDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(html_DATA)'; for p in $$list; do \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " rm -f $(DESTDIR)$(htmldir)/$$f"; \
+	  rm -f $(DESTDIR)$(htmldir)/$$f; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkinstalldirs) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA) all-local
+
+installdirs:
+	$(mkinstalldirs) $(DESTDIR)$(htmldir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-htmlDATA
+	@$(NORMAL_INSTALL)
+	$(MAKE) $(AM_MAKEFLAGS) install-data-hook
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-htmlDATA uninstall-info-am uninstall-local
+
+.PHONY: all all-am all-local check check-am clean clean-generic \
+	clean-libtool clean-local distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am info info-am install \
+	install-am install-data install-data-am install-exec \
+	install-exec-am install-htmlDATA install-info install-info-am \
+	install-man install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am uninstall uninstall-am uninstall-htmlDATA \
+	uninstall-info-am uninstall-local
+
+
+ at DOC_TRUE@install-data-hook:
+ at DOC_TRUE@	cp -dpR html/* $(DESTDIR)$(htmldir)
+
+# Automake's "distcheck" is sensitive to having files left over
+# after "make uninstall", so we have to clean up the install hook.
+ at DOC_TRUE@uninstall-local:
+ at DOC_TRUE@	rm -rf $(DESTDIR)$(htmldir)
+
+ at DOC_TRUE@dox: html/index.html
+
+# We repeat the three targets in both the "if" and "else" clauses
+# of the conditional, because the generated makefile will contain
+# references to the targets (target "install" depends on target
+# "install-datahook", for example), and some make programs get upset
+# if no target exists.
+
+ at DOC_FALSE@install-data-hook:
+ at DOC_FALSE@uninstall-local:
+ at DOC_FALSE@dox:
+
+all-local: dox
+
+html/index.html: Doxyfile $(doxygen_input)
+	"@DOXYGEN@"
+
+# Make tarfile to distribute the HTML documentation.
+doc-dist: dox
+	cp $(static_pages) html
+	tar -czf $(PACKAGE)-docs-$(VERSION).tar.gz -C html .
+
+pdf: @PACKAGE at .pdf
+ at PACKAGE@.pdf:
+	$(MAKE) -C ./latex pdf
+	ln -s ./latex/refman.ps	 @PACKAGE at .ps
+	ln -s ./latex/refman.pdf @PACKAGE at .pdf
+
+clean-local:
+	$(RM) -r latex
+	$(RM) -r html man @PACKAGE at .ps @PACKAGE at .pdf
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Money.dox
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Money.dox	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/Money.dox	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,558 @@
+/*! \page money_example Money, a step by step example
+
+\section Table of contents
+
+  - \ref sec_setting_vc
+  - \ref sec_setting_unix
+  - \ref sec_running_test
+  - \ref sec_adding_testfixture
+  - \ref sec_first_tests
+  - \ref sec_more_tests
+  - \ref sec_credits
+
+  The example explored in this article can be found in \c examples/Money/.
+
+
+
+\section sec_setting_vc Setting up your project (VC++)
+
+\subsection sec_install Compiling and installing CppUnit libaries
+
+In the following document, $CPPUNIT is the directory where you unpacked %CppUnit:
+$CPPUNIT/:
+	include/
+	lib/
+	src/
+		cppunit/
+
+First, you need to compile %CppUnit libraries:
+- Open the $CPPUNIT/src/CppUnitLibraries.dsw workspace in VC++.
+- In the 'Build' menu, select 'Batch Build...'
+- In the batch build dialog, select all projects and press the build button.
+- The resulting libraries can be found in the $CPPUNIT/lib/ directory.
+
+Once it is done, you need to tell VC++ where are the includes and librairies
+to use them in other projects. Open the 'Tools/Options...' dialog, and in the
+'Directories' tab, select 'include files' in the combo. Add a new entry that
+points to $CPPUNIT/include/. Change to 'libraries files' in the combo and 
+add a new entry for $CPPUNIT/lib/. Repeat the process with 'source files' 
+and add $CPPUNIT/src/cppunit/.
+
+\subsection sec_getting_started Getting started
+
+Creates a new console application ('a simple application' template will do).
+Let's link %CppUnit library to our project. In the project settings:
+- In tab 'C++', combo 'Code generation', set the combo to 'Multithreaded DLL'
+for the release configuration, and 'Debug Multithreaded DLL' for the debug
+configure,
+- In tab 'C++', combo 'C++ langage', for All Configurations, check 
+'enable Run-Time Type Information (RTTI)',
+- In tab 'Link', in the 'Object/library modules' field, add cppunitd.lib for
+the debug configuration, and cppunit.lib for the release configuration.
+
+We're done !
+
+
+  
+    
+      
+        
+          
+\section sec_setting_unix Setting up your project (Unix)
+We'll use \c autoconf and \c automake to make it simple to 
+create our build environment. Create a directory somewhere to 
+hold the code we're going to build. Create \c configure.in and 
+\c Makefile.am in that directory to get started.
+
+<tt>configure.in</tt>
+\verbatim
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(money,0.1)
+AM_PATH_CPPUNIT(1.9.6)
+AC_PROG_CXX
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_OUTPUT(Makefile)\endverbatim
+
+<tt>Makefile.am</tt>
+\verbatim
+# Rules for the test code (use `make check` to execute)
+TESTS = MoneyApp
+check_PROGRAMS = $(TESTS)
+MoneyApp_SOURCES = Money.h MoneyTest.h MoneyTest.cpp MoneyApp.cpp
+MoneyApp_CXXFLAGS = $(CPPUNIT_CFLAGS)
+MoneyApp_LDFLAGS = $(CPPUNIT_LIBS)
+MoneyApp_LDFLAGS = -ldl\endverbatim
+
+
+  
+    
+      
+        
+          
+            
+\section sec_running_test Running our tests
+
+We have a main that doesn't do anything. Let's start by adding the mecanics
+to run our tests (remember, test before you code ;-) ). For this example, 
+we will use a TextTestRunner with the CompilerOutputter for post-build 
+testing:
+
+<tt>MoneyApp.cpp</tt>
+\code
+#include "stdafx.h"
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+
+int main(int argc, char* argv[])
+{
+  // Get the top level suite from the registry
+  CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest();
+
+  // Adds the test to the list of test to run
+  CppUnit::TextUi::TestRunner runner;
+  runner.addTest( suite );
+
+  // Change the default outputter to a compiler error format outputter
+  runner.setOutputter( new CppUnit::CompilerOutputter( &runner.result(),
+                                                       std::cerr ) );
+  // Run the tests.
+  bool wasSucessful = runner.run();
+
+  // Return error code 1 if the one of test failed.
+  return wasSucessful ? 0 : 1;
+}\endcode
+
+  VC++: Compile and run (Ctrl+F5).
+
+  Unix: First build. Since we don't have all the file yet, let's create them
+  and build our application for the first time:
+\verbatim
+touch Money.h MoneyTest.h MoneyTest.cpp
+aclocal -I /usr/local/share/aclocal
+autoconf
+automake -a
+touch NEWS README AUTHORS ChangeLog # To make automake happy
+./configure
+make check\endverbatim
+
+  Our application will report that everything
+is fine and no test were run. So let's add some tests...
+
+
+
+\subsection sec_post_build Setting up automated post-build testing (VC++)
+
+What does post-build testing means? It means that each time you compile,
+the test are automatically run when the build finish. This is very
+useful, if you compile often you can know that you just 'broke' something,
+or that everything is still working fine.
+
+Let's adds that to our project, In the project settings, in the 
+'post-build step' tab:
+- Select 'All configurations' (upper left combo)
+- In the 'Post-build description', enter 'Unit testing...'
+- In 'post-build command(s)', add a new line: <tt>\$(TargetPath)$</tt>
+
+<tt>\$(TargetPath)</tt> expands into the name of your application:
+Debug\MoneyApp.exe in debug configuration and Release\MoneyApp.exe in release
+configuration.
+
+What we are doing is say to VC++ to run our application for each build. 
+Notices the last line of \c main(), it returns a different error code, 
+depending on weither or not a test failed. If the code returned by
+an application is not 0 in post-build step, it tell VC++ that the build
+step failed.
+
+Compile. Notices that the application's output is now in the build window.
+How convenient!
+
+  (Unix: tips to integrate make check into various IDE?)
+
+
+  
+    
+      
+        
+          
+\section sec_adding_testfixture Adding the TestFixture
+
+For this example, we are going to write a simple money class. Money
+has an amount and a currency. Let's begin by creating a fixture where
+we can put our tests, and add single test to test Money constructor:
+
+<tt>MoneyTest.h:</tt>
+\code
+#ifndef MONEYTEST_H
+#define MONEYTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+
+class MoneyTest : public CppUnit::TestFixture
+{
+  CPPUNIT_TEST_SUITE( MoneyTest );
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  void setUp();
+  void tearDown();
+
+  void testConstructor();
+};
+
+#endif  // MONEYTEST_H\endcode
+
+- CPPUNIT_TEST_SUITE declares that our Fixture's test suite.
+- CPPUNIT_TEST adds a test to our test suite. The test is implemented 
+by a method named testConstructor().
+- setUp() and tearDown() are use to setUp/tearDown some fixtures. We are
+not using any for now.
+
+<tt>MoneyTest.cpp</tt>
+\code
+#include "stdafx.h"
+#include "MoneyTest.h"
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( MoneyTest );
+
+
+void 
+MoneyTest::setUp()
+{
+}
+
+
+void 
+MoneyTest::tearDown()
+{
+}
+
+
+void 
+MoneyTest::testConstructor()
+{
+  CPPUNIT_FAIL( "not implemented" );
+}
+\endcode
+
+Compile. As expected, it reports that a test failed. Press the \c F4 key
+(Go to next Error). VC++ jump right to our failed assertion CPPUNIT_FAIL.
+We can not ask better in term of integration!
+\verbatim
+Compiling...
+MoneyTest.cpp
+Linking...
+Unit testing...
+.F
+G:\prg\vc\Lib\cppunit\examples\money\MoneyTest.cpp(26):Assertion
+Test name: MoneyTest.testConstructor
+not implemented
+Failures !!!
+Run: 1   Failure total: 1   Failures: 1   Errors: 0
+Error executing d:\winnt\system32\cmd.exe.
+
+moneyappd.exe - 1 error(s), 0 warning(s)
+\endverbatim
+
+Well, we have everything set up, let's start doing some real testing.
+
+
+  
+    
+      
+
+  
+\section sec_first_tests Our first tests
+
+Let's write our first real test. A test is usually decomposed in three parts:
+- setting up datas used by the test
+- doing some processing based on those datas
+- checking the result of the processing
+
+\code
+void 
+MoneyTest::testConstructor()
+{
+  // Set up
+  const std::string currencyFF( "FF" );
+  const double longNumber = 12345678.90123;
+
+  // Process
+  Money money( longNumber, currencyFF );
+
+  // Check
+  CPPUNIT_ASSERT_EQUAL( longNumber, money.getAmount() );
+  CPPUNIT_ASSERT_EQUAL( currencyFF, money.getCurrency() );
+}\endcode
+
+Well, we finally have a good start of what our Money class will
+look likes. Let's start implementing...
+
+<tt>Money.h</tt>
+\code
+#ifndef MONEY_H
+#define MONEY_H
+
+#include <string>
+
+class Money
+{
+public:
+  Money( double amount, std::string currency )
+    : m_amount( amount )
+    , m_currency( m_currency )
+  {
+  }
+
+  double getAmount() const
+  {
+    return m_amount;
+  }
+
+  std::string getCurrency() const
+  {
+    return m_currency;
+  }
+
+private:
+  double m_amount;
+  std::string m_currency;
+};
+
+#endif\endcode
+
+Include <tt>Money.h</tt> in MoneyTest.cpp and compile.
+
+Hum, an assertion failed! Press F4, and we jump to the assertion
+that checks the currency of the constructed money object. The report
+indicates that string is not equal to expected value. There is only
+two ways for this to happen: the member was badly initialized or we
+returned the wrong value. After a quick check, we fin out it is the former.
+Let's fix that:
+
+<tt>Money.h</tt>
+\code
+  Money( double amount, std::string currency )
+    : m_amount( amount )
+    , m_currency( currency )
+  {
+  }\endcode
+
+Compile. Our test finally pass!
+Let's add some functionnalities to our Money class.
+
+
+  
+    
+      
+        
+          
+            
+\section sec_more_tests Adding more tests
+
+\subsection sec_equal Testing for equality
+
+  We want to check if to Money object are equal. Let's start by adding
+a new test to the suite, then add our method:
+
+<tt>MoneyTest.h</tt>
+\code
+  CPPUNIT_TEST_SUITE( MoneyTest );
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testEqual );
+  CPPUNIT_TEST_SUITE_END();
+public:
+  ...
+  void testEqual();
+\endcode
+
+<tt>MoneyTest.cpp</tt>
+\code
+void
+MoneyTest::testEqual()
+{
+  // Set up
+  const Money money123FF( 123, "FF" );
+  const Money money123USD( 123, "USD" );
+  const Money money12FF( 12, "FF" );
+  const Money money12USD( 12, "USD" );
+
+  // Process & Check
+  CPPUNIT_ASSERT( money123FF == money123FF );     // ==
+  CPPUNIT_ASSERT( money12FF != money123FF );      // != amount
+  CPPUNIT_ASSERT( money123USD != money123FF );    // != currency
+  CPPUNIT_ASSERT( money12USD != money123FF );    // != currency and != amount
+}\endcode
+
+  Let's implements \c operator \c == and \c operator \c != in Money.h:
+
+<tt>Money.h</tt>
+\code
+class Money
+{
+public:
+...
+  bool operator ==( const Money &other ) const
+  {
+    return m_amount == other.m_amount  &&  
+           m_currency == other.m_currency;
+  }
+
+  bool operator !=( const Money &other ) const
+  {
+    return (*this == other);
+  }
+};
+\endcode
+
+  Compile, run... Ooops... Press F4, it seems we're having trouble 
+with \c operator \c !=. Let's fix that:
+\code
+  bool operator !=( const Money &other ) const
+  {
+    return !(*this == other);
+  }\endcode
+
+Compile, run. Finaly got it working!
+
+
+
+\subsection sec_opadd Adding moneys
+
+  Let's add our test 'testAdd' to MoneyTest. You know the routine...
+
+<tt>MoneyTest.cpp</tt>
+\code
+void 
+MoneyTest::testAdd()
+{
+  // Set up
+  const Money money12FF( 12, "FF" );
+  const Money expectedMoney( 135, "FF" );
+
+  // Process
+  Money money( 123, "FF" );
+  money += money12FF;
+
+  // Check
+  CPPUNIT_ASSERT_EQUAL( expectedMoney == money.getAmount() );  // += works
+  CPPUNIT_ASSERT( &money == &(money += money12FF) );           // += returns ref. on 'this'.
+}\endcode
+
+  While writing that test case, you ask yourself, what is the result of
+adding money of currencies. Obviously this is an error and it should be
+reported, say let throw an exception, say \c IncompatibleMoneyError, 
+when the currencies are not equal. We will write another test case
+for this later. For now let get our testAdd() case working:
+
+<tt>Money.h</tt>
+\code
+class Money
+{
+public:
+...
+  Money &operator +=( const Money &other )
+  {
+    m_amount += other.m_amount;
+    return *this;
+  }
+}; \endcode
+
+Compile, run. Miracle, everything is fine! Just to be sure the test is indeed
+working, in the above code, change \c m_amount \c += to \c -=. Build and 
+check that it fails (always be suspicious of test that work the first 
+time: you may have forgotten to add it to the suite for example)! 
+Change the code back so that all the tests are working.
+  
+  Let's the incompatible money test case before we forget about it...
+That test case expect an \c IncompatibleMoneyError exception to be thrown. 
+%CppUnit can test that for us, you need to specify that the test case
+expect an exception when you add it to the suite:
+  
+<tt>MoneyTest.h</tt>
+\code
+class MoneyTest : public CppUnit::TestFixture
+{
+  CPPUNIT_TEST_SUITE( MoneyTest );
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testEqual );
+  CPPUNIT_TEST( testAdd );
+  CPPUNIT_TEST_EXCEPTION( testAddThrow, IncompatibleMoneyError );
+  CPPUNIT_TEST_SUITE_END();
+public:
+  ...
+  void testAddThrow();
+};\endcode
+
+By convention, you ends the name of such tests with \c 'Throw', that way, you
+know that the test expect an exception to be thrown. Let's write our test case:
+
+<tt>MoneyTest.cpp</tt>
+\code
+void 
+MoneyTest::testAddThrow()
+{
+  // Set up
+  const Money money123FF( 123, "FF" );
+
+  // Process
+  Money money( 123, "USD" );
+  money += money123FF;        // should throw an exception
+}
+\endcode
+
+  Compile... Ooops, forgot to declare the exception class. Let's do that:
+
+<tt>Money.h</tt>
+\code
+#include <string>
+#include <stdexcept>
+
+class IncompatibleMoneyError : public std::runtime_error
+{
+public:
+  IncompatibleMoneyError() : runtime_error( "Incompatible moneys" )
+  {
+  }
+};
+\endcode
+
+  Compile. As expected testAddThrow() fail... Let's fix that:
+  
+<tt>Money.h</tt>
+\code
+  Money &operator +=( const Money &other )
+  {
+    if ( m_currency != other.m_currency )
+      throw IncompatibleMoneyError();
+
+    m_amount += other.m_amount;
+    return *this;
+  }\endcode
+
+  Compile. Our test finaly pass!
+
+  TODO:
+- Copy constructor/Assigment operator
+- Introducing fixtures
+- ?
+
+
+  
+    
+      
+        
+\section sec_credits Credits
+This article was written by Baptiste Lepilleur. Unix configuration & set up 
+by Phil Verghese. Inspired from many others (JUnit, Phil's cookbook...), 
+and all the newbies around that keep asking me for the 
+'Hello world' example ;-)
+
+
+
+*/
\ No newline at end of file

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/cookbook.dox
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/cookbook.dox	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/cookbook.dox	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,523 @@
+/*! \page cppunit_cookbook CppUnit Cookbook
+Here is a short cookbook to help you get started.
+
+
+\section simple_test_case Simple Test Case
+You want to know whether your code is working. 
+
+How do you do it? 
+
+There are many ways. Stepping through a debugger or 
+littering your code with stream output calls are two of 
+the simpler ways, but they both have drawbacks.
+Stepping through your code is a good idea, but it 
+is not automatic. You have to do it every time you
+make changes. Streaming out text is also fine, 
+but it makes code ugly and it generates far more 
+information than you need most of the time.
+
+Tests in %CppUnit can be run automatically. 
+They are easy to set up and once you have 
+written them, they are always there to help 
+you keep confidence in the quality of your code.
+
+To make a simple test, here is what you do:
+
+Subclass the \link CppUnit::TestCase TestCase \endlink class. 
+Override the method \link CppUnit::TestCase::runTest() runTest()\endlink. 
+When you want to check a value, call 
+\link CPPUNIT_ASSERT() CPPUNIT_ASSERT(bool) \endlink
+and pass in an expression that is true if the 
+test succeeds. 
+
+For example, to test the equality comparison 
+for a Complex number class, write:
+
+\code
+class ComplexNumberTest : public CppUnit::TestCase { 
+public: 
+  ComplexNumberTest( std::string name ) : CppUnit::TestCase( name ) {}
+  
+  void runTest() {
+    CPPUNIT_ASSERT( Complex (10, 1) == Complex (10, 1) );
+    CPPUNIT_ASSERT( !(Complex (1, 1) == Complex (2, 2)) );
+  }
+};
+\endcode
+
+That was a very simple test. Ordinarily, 
+you'll have many little test cases that you'll 
+want to run on the same set of objects. To do 
+this, use a fixture.
+
+
+
+
+
+
+\section fixture Fixture
+A fixture is a known set of objects that 
+serves as a base for a set of test cases. 
+Fixtures come in very handy when you are 
+testing as you develop. 
+
+Let's try out this style of development and 
+learn about fixtures along the away. Suppose 
+that we are really developing a complex 
+number class. Let's start by defining a 
+empty class named Complex.
+
+\code
+class Complex {};
+\endcode
+
+Now create an instance of ComplexNumberTest 
+above, compile the code and see what happens. 
+The first thing we notice is a few compiler 
+errors. The test uses <tt>operator ==</tt>, but it is 
+not defined. Let's fix that.
+
+\code
+bool operator==( const Complex &a, const Complex &b) 
+{ 
+  return true; 
+}
+\endcode
+
+Now compile the test, and run it. This time it 
+compiles but the test fails. 
+We need a bit more to get an <tt>operator ==</tt>working 
+correctly, so we revisit the code.
+
+\code
+class Complex { 
+  friend bool operator ==(const Complex& a, const Complex& b);
+  double real, imaginary;
+public:
+  Complex( double r, double i = 0 ) 
+    : real(r)
+	, imaginary(i) 
+  {
+  }
+};
+
+bool operator ==( const Complex &a, const Complex &b )
+{ 
+  return a.real == b.real  &&  a.imaginary == b.imaginary; 
+}
+\endcode
+
+If we compile now and run our test it will pass. 
+
+Now we are ready to add new operations and 
+new tests. At this point a fixture would be 
+handy. We would probably be better off when 
+doing our tests if we decided to instantiate 
+three or four complex numbers and reuse them 
+across our tests. 
+
+Here is how we do it:
+- Add member variables for each part of the 
+  \link CppUnit::TestFixture fixture \endlink
+- Override \link CppUnit::TestFixture::setUp() setUp() \endlink
+  to initialize the variables
+- Override \link CppUnit::TestFixture::tearDown() tearDown() \endlink
+  to release any permanent resources you allocated in 
+  \link CppUnit::TestFixture::setUp() setUp() \endlink
+
+\code
+class ComplexNumberTest : public CppUnit::TestFixture {
+private:
+  Complex *m_10_1, *m_1_1, *m_11_2;
+public:
+  void setUp()
+  {
+    m_10_1 = new Complex( 10, 1 );
+    m_1_1 = new Complex( 1, 1 );
+    m_11_2 = new Complex( 11, 2 );  
+  }
+
+  void tearDown() 
+  {
+    delete m_10_1;
+    delete m_1_1;
+    delete m_11_2;
+  }
+};
+\endcode
+
+Once we have this fixture, we can add the complex 
+addition test case any any others that we need 
+over the course of our development.
+
+
+
+\section test_case Test Case
+
+How do you write and invoke individual tests using a fixture? 
+
+There are two steps to this process:
+- Write the test case as a method in the fixture class
+- Create a TestCaller which runs that particular method
+
+Here is our test case class with a few extra case methods:
+
+\code
+class ComplexNumberTest : public CppUnit::TestFixture  {
+private:
+  Complex *m_10_1, *m_1_1, *m_11_2;
+public:
+  void setUp()
+  {
+    m_10_1 = new Complex( 10, 1 );
+    m_1_1 = new Complex( 1, 1 );
+    m_11_2 = new Complex( 11, 2 );  
+  }
+
+  void tearDown() 
+  {
+    delete m_10_1;
+    delete m_1_1;
+    delete m_11_2;
+  }
+
+  void testEquality()
+  {
+    CPPUNIT_ASSERT( *m_10_1 == *m_10_1 );
+    CPPUNIT_ASSERT( !(*m_10_1 == *m_11_2) );
+  }
+
+  void testAddition()
+  {
+    CPPUNIT_ASSERT( *m_10_1 + *m_1_1 == *m_11_2 );
+  }
+};
+\endcode
+
+One may create and run instances for each test case like this:
+
+\code
+CppUnit::TestCaller<ComplexNumberTest> test( "testEquality", 
+                                             &ComplexNumberTest::testEquality );
+CppUnit::TestResult result;
+test.run( &result );
+\endcode
+
+The second argument to the test caller constructor is the address of 
+a method on ComplexNumberTest. When the test caller is run, 
+that specific method will be run.  This is not a useful thing to do, 
+however, as no diagnostics will be displayed.  
+One will normally use a \link ExecutingTest TestRunner \endlink (see below) 
+to display the results.
+
+Once you have several tests, organize them into a suite.
+
+
+
+
+
+\section suite Suite
+
+How do you set up your tests so that you can run them all at once?
+
+%CppUnit provides a \link CppUnit::TestSuite TestSuite \endlink class 
+that runs any number of TestCases together. 
+
+We saw, above, how to run a single test case.
+
+To create a suite of two or more tests, you do the following:
+
+\code
+CppUnit::TestSuite suite;
+CppUnit::TestResult result;
+suite.addTest( new CppUnit::TestCaller<ComplexNumberTest>(
+                       "testEquality", 
+                       &ComplexNumberTest::testEquality ) );
+suite.addTest( new CppUnit::TestCaller<ComplexNumberTest>(
+                       "testAddition", 
+                       &ComplexNumberTest::testAddition ) );
+suite.run( &result );
+\endcode         
+
+\link CppUnit::TestSuite TestSuites \endlink don't only have to 
+contain callers for TestCases.  They can contain any object 
+that implements the \link CppUnit::Test Test \endlink interface.
+For example, you can create a 
+\link CppUnit::TestSuite TestSuite \endlink in your code and
+I can create one in mine, and we can run them together 
+by creating a \link CppUnit::TestSuite TestSuite \endlink 
+that contains both:
+
+\code
+CppUnit::TestSuite suite;
+CppUnit::TestResult result;
+suite.addTest( ComplexNumberTest::suite() );
+suite.addTest( SurrealNumberTest::suite() );
+suite.run( &result );
+\endcode
+
+
+
+
+\section test_runner TestRunner
+
+How do you run your tests and collect their results?
+
+Once you have a test suite, you'll want to run it. %CppUnit provides tools 
+to define the suite to be run and to display its results. 
+You make your suite accessible to a \link ExecutingTest TestRunner \endlink
+program with a static method <I>suite</I> that returns a test suite.
+
+For example, to make a ComplexNumberTest suite available to a 
+\link ExecutingTest TestRunner \endlink, add the following code to 
+ComplexNumberTest:
+
+\code
+public: 
+  static CppUnit::Test *suite()
+  {
+    CppUnit::TestSuite *suiteOfTests = new CppUnit::TestSuite( "ComplexNumberTest" );
+    suiteOfTests->addTest( new CppUnit::TestCaller<ComplexNumberTest>( 
+                                   "testEquality", 
+                                   &ComplexNumberTest::testEquality ) );
+    suiteOfTests->addTest( new CppUnit::TestCaller<ComplexNumberTest>(
+                                   "testAddition",
+                                   &ComplexNumberTest::testAddition ) );
+    return suiteOfTests;
+  }
+\endcode
+
+\anchor test_runner_code
+To use the text version, include the header files for the tests in Main.cpp:
+
+\code
+#include <cppunit/ui/text/TestRunner.h>
+#include "ExampleTestCase.h"
+#include "ComplexNumberTest.h"
+\endcode
+
+And add a call to 
+\link ::CppUnit::TextUi::TestRunner::addTest addTest(CppUnit::Test *) \endlink 
+in the <tt>main()</tt> function:
+
+\code
+int main( int argc, char **argv)
+{
+  CppUnit::TextUi::TestRunner runner;
+  runner.addTest( ExampleTestCase::suite() );
+  runner.addTest( ComplexNumberTest::suite() );
+  runner.run();
+  return 0;
+}
+\endcode
+
+The \link ExecutingTest TestRunner \endlink will run the tests. 
+If all the tests pass, you'll get an informative message. 
+If any fail, you'll get the following information:
+
+- The name of the test case that failed
+- The name of the source file that contains the test
+- The line number where the failure occurred
+- All of the text inside the call to CPPUNIT_ASSERT() which detected the failure
+
+%CppUnit distinguishes between <I>failures</I> and <I>errors</I>. A failure is 
+anticipated and checked for with assertions. Errors are unanticipated problems 
+like division by zero and other exceptions thrown by the C++ runtime or your code.
+
+
+
+
+\section helper_macros Helper Macros
+
+As you might have noticed, implementing the fixture static <tt>suite()</tt> 
+method is a repetitive and error prone task. A \ref WritingTestFixture set of 
+macros have been created to automatically implements the 
+static <tt>suite()</tt> method.
+
+The following code is a rewrite of ComplexNumberTest using those macros:
+
+\code
+#include <cppunit/extensions/HelperMacros.h>
+
+class ComplexNumberTest : public CppUnit::TestFixture  {
+\endcode
+First, we declare the suite, passing the class name to the macro:
+\code
+CPPUNIT_TEST_SUITE( ComplexNumberTest );
+\endcode
+The suite created by the static <tt>suite()</tt> method is named after 
+the class name.
+Then, we declare each test case of the fixture:
+\code
+CPPUNIT_TEST( testEquality );
+CPPUNIT_TEST( testAddition );
+\endcode
+Finally, we end the suite declaration:
+\code
+CPPUNIT_TEST_SUITE_END();
+\endcode
+At this point, a method with the following signature has been implemented:
+\code
+static CppUnit::TestSuite *suite();
+\endcode
+The rest of the fixture is left unchanged:
+\code
+private:
+  Complex *m_10_1, *m_1_1, *m_11_2;
+public:
+  void setUp()
+  {
+    m_10_1 = new Complex( 10, 1 );
+    m_1_1 = new Complex( 1, 1 );
+    m_11_2 = new Complex( 11, 2 );  
+  }
+
+  void tearDown() 
+  {
+    delete m_10_1;
+    delete m_1_1;
+    delete m_11_2;
+  }
+
+  void testEquality()
+  {
+    CPPUNIT_ASSERT( *m_10_1 == *m_10_1 );
+    CPPUNIT_ASSERT( !(*m_10_1 == *m_11_2) );
+  }
+
+  void testAddition()
+  {
+    CPPUNIT_ASSERT( *m_10_1 + *m_1_1 == *m_11_2 );
+  }
+};
+\endcode
+
+The name of the \link CppUnit::TestCaller TestCaller \endlink added to the
+suite are a composition of the fixture name and the method name. 
+
+In the present case, the names would be:
+"ComplexNumberTest.testEquality" and "ComplexNumberTest.testAddition".
+
+The \link WritingTestFixture helper macros \endlink help you write comon assertion.
+For example, to check that ComplexNumber throws a MathException when dividing
+a number by 0:
+- add the test to the suite using CPPUNIT_TEST_EXCEPTION, specifying the expected
+  exception type.
+- write the test case method
+
+\code
+CPPUNIT_TEST_SUITE( ComplexNumberTest );
+// [...]
+CPPUNIT_TEST_EXCEPTION( testDivideByZeroThrows, MathException );
+CPPUNIT_TEST_SUITE_END();
+
+// [...]
+
+  void testDivideByZeroThrows()
+  {
+    // The following line should throw a MathException.
+    *m_10_1 / ComplexNumber(0);
+  }
+\endcode
+
+If the expected exception is not thrown, then a assertion failure is reported.
+
+
+
+
+\section test_factory_registry TestFactoryRegistry
+
+The TestFactoryRegistry was created to solve two pitfalls:
+- forgetting to add your fixture suite to the test runner (since it is in 
+  another file, it is easy to forget)
+- compilation bottleneck caused by the inclusion of all test case headers 
+  (see \ref test_runner_code "previous example")
+
+The TestFactoryRegistry is a place where suites can be registered at initialization
+time.
+
+To register the ComplexNumber suite, in the .cpp file, you add:
+
+\code
+#include <cppunit/extensions/HelperMacros.h>
+
+CPPUNIT_TEST_SUITE_REGISTRATION( ComplexNumberTest );
+\endcode
+
+Behind the scene, a static variable type of 
+\link CppUnit::AutoRegisterSuite AutoRegisterSuite \endlink is declared.
+On construction, it will 
+\link CppUnit::TestFactoryRegistry::registerFactory(TestFactory*) register \endlink 
+a \link CppUnit::TestSuiteFactory TestSuiteFactory \endlink into the 
+\link CppUnit::TestFactoryRegistry TestFactoryRegistry \endlink. 
+The \link CppUnit::TestSuiteFactory TestSuiteFactory \endlink returns
+the \link CppUnit::TestSuite TestSuite \endlink returned by ComplexNumber::suite().
+
+To run the tests, using the text test runner, we don't need to include the fixture
+anymore:
+
+\code
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+int main( int argc, char **argv)
+{
+  CppUnit::TextUi::TestRunner runner;
+\endcode
+First, we retreive the instance of the 
+\link CppUnit::TestFactoryRegistry TestFactoryRegistry \endlink:
+\code
+  CppUnit::TestFactoryRegistry &registry = CppUnit::TestFactoryRegistry::getRegistry();
+\endcode
+Then, we obtain and add a new \link CppUnit::TestSuite TestSuite \endlink created 
+by the  \link CppUnit::TestFactoryRegistry TestFactoryRegistry \endlink that 
+contains all the test suite registered using CPPUNIT_TEST_SUITE_REGISTRATION().
+\code
+  runner.addTest( registry.makeTest() );
+  runner.run();
+  return 0;
+}
+\endcode
+
+
+
+
+\section post_build_check Post-build check
+
+Well, now that we have our unit tests running, how about integrating unit 
+testing to our build process ?
+
+To do that, the application must returns a value different than 0 to indicate that
+there was an error.
+
+\link CppUnit::TextUi::TestRunner::run() TestRunner::run() \endlink returns 
+a boolean indicating if the run was successful.
+
+Updating our main programm, we obtains:
+\code
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+int main( int argc, char **argv)
+{
+  CppUnit::TextUi::TestRunner runner;
+  CppUnit::TestFactoryRegistry &registry = CppUnit::TestFactoryRegistry::getRegistry();
+  runner.addTest( registry.makeTest() );
+  bool wasSuccessful = runner.run( "", false );
+  return wasSuccessful;
+}
+\endcode
+
+Now, you need to run your application after compilation.
+
+With Visual C++, this is done in <em>Project Settings/Post-Build step</em>, 
+by adding the following command: <tt>$(TargetPath)</tt>. It is expanded to 
+the application executable path. Look up the project 
+<tt>examples/cppunittest/CppUnitTestMain.dsp</tt> which
+use that technic.
+
+
+
+Original version by Michael Feathers.
+Doxygen conversion and update by Baptiste Lepilleur.
+*/
\ No newline at end of file

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/footer.html
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/footer.html	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/footer.html	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,23 @@
+<hr>
+<table width="100%">
+  <tr>
+    <td width="10%" align="left" valign="center">
+      <a href="http://sourceforge.net"> 
+      <img
+      src="http://sourceforge.net/sflogo.php?group_id=11795"
+      width="88" height="31" border="0" alt="SourceForge Logo"></a>
+    </td>
+    <td width="20%" align="left" valign="center">
+      hosts this site.
+    </td>
+    <td>
+    </td>
+    <td align="right" valign="center">
+      Send comments to:<br>
+      <a href="mailto:cppunit-devel at lists.sourceforge.net">CppUnit Developers</a>
+    </td>
+  </tr>
+</table>
+
+</body> 
+</html>

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/header.html
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/header.html	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/header.html	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,26 @@
+<html>
+<head>
+<title>
+CppUnit - The Unit Testing Library
+</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head>
+
+<body bgcolor="#ffffff"> 
+<table width="100%">
+  <tr>
+    <td width="40%" align="left" valign="center">
+      <a href="http://sourceforge.net/projects/cppunit">
+      CppUnit project page
+      </a>
+    </td>
+    <td>
+      <a href="FAQ">FAQ</a>
+    </td>
+    <td width="40%" align="right" valign="center">
+      <a href="http://cppunit.sourceforge.net">CppUnit home page</a>
+    </td>
+  </tr>
+</table>
+
+<hr>

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/other_documentation.dox
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/other_documentation.dox	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/doc/other_documentation.dox	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,147 @@
+/**
+ \mainpage
+ 
+ \section _history History
+ The first port of JUnit to C++ was done
+ by Michael Feathers. His versions
+ can be found on the 
+ <a href="http://www.xprogramming.com/software.htm">
+ XProgramming software page</a>. They are os-specific,
+ so Jerome Lacoste provided a port to Unix/Solaris.
+ His version can be found on the same page.
+ The %CppUnit project has combined and built on this work.
+
+ \section _usage Usage
+ Take a look into the \ref cppunit_cookbook.
+ It gives a quick start into using this 
+ testing framework. <a href="modules.html">Modules</a> give
+ you a organized view of %CppUnit classes.
+
+ (Notes to newbies, you may want to check out \ref money_example,
+ a work in progress, but the project is provided with %CppUnit).
+
+ For a discussion on %CppUnit, check 
+ <a href="http://c2.com/cgi/wiki?CppUnit">
+ the WikiWiki Pages on CppUnit</a>. There you can also
+ find the original versions and various ports to other
+ OSses and languages.
+ 
+ \section _license License
+ This library is released under
+ the GNU
+ <a href="http://www.gnu.org/copyleft/lesser.html">
+ Lesser General Public License</a>.
+
+ \author Eric Sommerlade (sommerlade at gmx.net)
+ \author Michael Feathers (mfeathers at objectmentor.com)
+ \author Jerome Lacoste (lacostej at altern.org)
+ \author Baptiste Lepilleur <gaiacrtn at free.fr>
+ \author Bastiaan Bakker <bastiaan.bakker at lifeline.nl>
+ \author Steve Robbins <smr99 at sourceforge.net>
+ */
+
+
+
+/*! \defgroup WritingTestFixture Writing test fixture
+ */
+
+/*! \defgroup Assertions Making assertions
+ */
+
+/*! \defgroup CreatingTestSuite Creating TestSuite
+ */
+
+/*! \defgroup ExecutingTest Executing test
+ */
+
+/*! \defgroup TrackingTestExecution Tracking test execution
+ */
+
+/*! \defgroup WritingTestResult Writing test result
+ */
+
+/*! \defgroup BrowsingCollectedTestResult Browsing collected test result
+ */
+
+/*! \defgroup CreatingNewAssertions Creating custom assertions
+ */
+
+/*! \defgroup WritingTestPlugIn Writing Test Plug-in
+ *
+ * Creating a test plug-in is really simple:
+ * - make your project a dynamic library (with VC++, choose Win32 Dynamic Library in
+ *   the project wizard), and link against the dynamic library version of %CppUnit
+ *   (cppunit*_dll.lib for VC++).
+ * - in a cpp file, include TestPlugIn.h, and use the macro CPPUNIT_PLUGIN_IMPLEMENT()
+ *   to declare the test plug-in.
+ * - That's it, you're done! All the tests registered using the TestFactoryRegistry,
+ *   CPPUNIT_TEST_SUITE_NAMED_REGISTRATION, or CPPUNIT_TEST_SUITE_REGISTRATION will
+ *   be visible to other plug-in and to the DllPlugInRunner.
+ *
+ * Example:
+ * \code
+ * #include <cppunit/include/plugin/TestPlugIn.h>
+ *
+ * CPPUNIT_PLUGIN_IMPLEMENT();
+ * \endcode
+ *
+ * The interface CppUnitTestPlugIn is automatically implemented by the previous
+ * macro. You can define your one implementation.
+ *
+ * To provide your custom implementation of the plug-in interface, you must:
+ * - create a class that implements the CppUnitTestPlugIn interface
+ * - use CPPUNIT_PLUGIN_EXPORTED_FUNCTION_IMPL() with your class to export
+ *   the plug-in interface
+ * - implements the 'main' function with CPPUNIT_PLUGIN_IMPLEMENT_MAIN().
+ *
+ * Some of the reason you may want to do this:
+ * - You do not use the TestFactoryRegistry to register your test.
+ * - You want to create a custom listener to use with DllPlugInRunner.
+ * - You want to do initialize some globale resources before running the test
+ *   (setting up COM for example).
+ *   
+ * See CppUnitTestPlugIn for further detail on how to do this.
+ *
+ * Creating your own test plug-in with VC++:
+ * - Create a new "Win32 Dynamic Library" project, choose the empty template
+ * - For the Debug Configuration, add cppunitd_dll.lib to 
+ *   'Project Settings/Link/Object/Libariries modules', and for the Release
+ *   Configuration, add cppunit_dll.lib.
+ * - For All Configuration, in 'C++/Preprocessor/Preprocessors definitions',
+ *   add the symbol 'CPPUNIT_DLL' at the end of the line (it means that
+ *   you are linking against cppunit dll).
+ * - Create a 'main' file that contains:
+\verbatim
+#include <cppunit/plugin/TestPlugIn.h>
+
+CPPUNIT_PLUGIN_IMPLEMENT();\endverbatim
+ * - Add your tests
+ * - You're done !
+ *
+ * See examples/simple/simple_plugin.dsp for an example.
+ *
+ * Notes to VC++ users: 
+ * - you can run a post-build check on the plug-in. Add the following line to your
+ *   post-build tab: "DllPlugInTesterd_dll.exe $(TargetPath)". DllPlugInTesterd_dll.exe
+ *   need to be some place were it can be found (path, ...), or you need to
+ *   indicate the correct path. 
+ *   $(TargetPath) is the filename of your plug-in.
+ * - you can debug your DLL, set the executable for debug session to the plug-in 
+ *   runner, and the name of the DLL in the program arguments ($(xxx) won't work
+ *   this time).
+ *
+ * How does it works ?
+ *
+ * When %CppUnit is linked as a DLL, the singleton used for the TestFactoryRegistry
+ * is the same for the plug-in runner (also linked against %CppUnit DLL). This means
+ * that the tests registered with the macros (at static initialization) are 
+ * registered in the same registry. As soon as a DLL is loaded by the PlugInManager,
+ * the DLL static variable are constructed and the test registered to the 
+ * TestFactoryRegistry.
+ *
+ * After loading the DLL, the PlugInManager look-up a specific function exported by
+ * the DLL. That function returns a pointer on the plug-in interface, which is later
+ * used by the PlugInManager.
+ *
+ * \see CreatingTestSuite.
+ */
\ No newline at end of file

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerListener.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerListener.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerListener.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,123 @@
+// //////////////////////////////////////////////////////////////////////////
+// Implementation file ClockerListener.cpp for class ClockerListener
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/04/19
+// //////////////////////////////////////////////////////////////////////////
+#include <cppunit/Test.h>
+#include <iostream>
+#include "ClockerListener.h"
+#include "ClockerModel.h"
+#include <stdio.h>
+
+
+ClockerListener::ClockerListener( ClockerModel *model,
+                                  bool text )
+    : m_model( model )
+    , m_text( text )
+{
+}
+
+
+ClockerListener::~ClockerListener()
+{
+}
+
+
+void 
+ClockerListener::startTestRun( CPPUNIT_NS::Test *test, 
+                               CPPUNIT_NS::TestResult *eventManager )
+{
+  m_model->setExpectedTestCount( test->countTestCases() *2 );
+}
+
+
+void 
+ClockerListener::endTestRun( CPPUNIT_NS::Test *test, 
+                             CPPUNIT_NS::TestResult *eventManager )
+{
+  if ( m_text )
+    printStatistics();
+}
+
+
+void 
+ClockerListener::startTest( CPPUNIT_NS::Test *test )
+{
+  m_model->enterTest( test, false );
+}
+
+
+void 
+ClockerListener::endTest( CPPUNIT_NS::Test *test )
+{
+  m_model->exitTest( test, false );
+}
+
+
+void 
+ClockerListener::startSuite( CPPUNIT_NS::Test *suite )
+{
+  m_model->enterTest( suite, true );
+}
+
+
+void 
+ClockerListener::endSuite( CPPUNIT_NS::Test *suite )
+{
+  m_model->exitTest( suite, true );
+}
+
+
+void 
+ClockerListener::printStatistics() const
+{
+  printTest( 0, "" );
+  std::cout  <<  std::endl;
+  std::cout  <<  "Total elapsed time: ";
+  printTime( m_model->totalElapsedTime() );
+  std::cout  <<  ", average test case time: ";
+  printTime( m_model->averageTestCaseTime() );
+}
+
+
+void 
+ClockerListener::printTest( int testIndex,
+                            const std::string &indentString ) const
+{
+  std::string indent = indentString;
+  const int indentLength = 3;
+
+  printTestIndent( indentString, indentLength );
+  printTime( m_model->testTimeFor( testIndex ) );
+
+  std::cout  <<  m_model->testPathFor( testIndex ).getChildTest()->getName();
+  std::cout  <<  std::endl;
+
+  if ( m_model->childCountFor( testIndex ) == 0 )
+    indent+= std::string( indentLength, ' ' );
+  else
+    indent+= "|" + std::string( indentLength -1, ' ' );
+
+  for ( int index =0; index < m_model->childCountFor( testIndex ); ++index )
+    printTest( m_model->childAtFor( testIndex, index ), indent );
+}
+
+
+void 
+ClockerListener::printTestIndent( const std::string &indent,
+                                  const int indentLength ) const
+{
+  if ( indent.empty() )
+    return;
+
+  std::cout << "   ";
+  std::cout << indent.substr( 0, indent.length() - indentLength ) ;
+  std::cout << "+"  <<  std::string( indentLength -1, '-' );
+}
+
+
+void 
+ClockerListener::printTime( double time ) const
+{
+  std::cout <<  '('  <<  ClockerModel::timeStringFor( time )  <<  "s) ";
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerListener.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerListener.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerListener.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,66 @@
+// //////////////////////////////////////////////////////////////////////////
+// Header file ClockerListener.h for class ClockerListener
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/04/19
+// //////////////////////////////////////////////////////////////////////////
+#ifndef CLOCKERLISTENER_H
+#define CLOCKERLISTENER_H
+
+#include <cppunit/TestListener.h>
+
+class ClockerModel;
+
+
+/// TestListener that prints a flatten or hierarchical view of the test tree.
+class ClockerListener : public CPPUNIT_NS::TestListener
+{
+public:
+  ClockerListener( ClockerModel *model,
+                   bool text );
+
+  virtual ~ClockerListener();
+
+  void startTestRun( CPPUNIT_NS::Test *test, 
+                     CPPUNIT_NS::TestResult *eventManager );
+
+  void endTestRun( CPPUNIT_NS::Test *test, 
+                   CPPUNIT_NS::TestResult *eventManager );
+
+  void startTest( CPPUNIT_NS::Test *test );
+
+  void endTest( CPPUNIT_NS::Test *test );
+
+  void startSuite( CPPUNIT_NS::Test *suite );
+
+  void endSuite( CPPUNIT_NS::Test *suite );
+
+private:
+  void printStatistics() const;
+
+  void printTest( int testIndex,
+                  const std::string &indentString ) const;
+
+  void printTestIndent( const std::string &indent,
+                        const int indentLength ) const;
+
+  void printTime( double time ) const;
+
+  /// Prevents the use of the copy constructor.
+  ClockerListener( const ClockerListener &other );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const ClockerListener &other );
+
+private:
+  ClockerModel *m_model;
+  bool m_text;
+};
+
+
+
+// Inlines methods for ClockerListener:
+// -----------------------------------
+
+
+
+#endif  // CLOCKERLISTENER_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerModel.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerModel.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerModel.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,145 @@
+// //////////////////////////////////////////////////////////////////////////
+// Implementation file ClockerModel.cpp for class ClockerModel
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/06/14
+// //////////////////////////////////////////////////////////////////////////
+#include "ClockerModel.h"
+
+
+ClockerModel::ClockerModel()
+    : m_testCaseCount( 0 )
+    , m_totalTestCaseTime( 0 )
+{
+}
+
+
+ClockerModel::~ClockerModel()
+{
+}
+
+
+void 
+ClockerModel::setExpectedTestCount( int count )
+{
+  m_tests.reserve( count );
+}
+
+
+void 
+ClockerModel::enterTest( CPPUNIT_NS::Test *test,
+                         bool isSuite )
+{
+  m_currentPath.add( test );
+
+  int testIndex = m_tests.size();
+  if ( !m_testIndexes.empty() )
+    m_tests[ m_testIndexes.top() ].m_childIndexes.push_back( testIndex );
+  m_testIndexes.push( testIndex );
+  m_testToIndexes.insert( TestToIndexes::value_type( test, testIndex ) );
+
+  TestInfo info;
+  info.m_timer.start();
+  info.m_path = m_currentPath;
+  info.m_isSuite = isSuite;
+
+  m_tests.push_back( info );
+
+  if ( !isSuite )
+    ++m_testCaseCount;
+}
+
+
+void 
+ClockerModel::exitTest( CPPUNIT_NS::Test *test,
+                        bool isSuite )
+{
+  m_tests[ m_testIndexes.top() ].m_timer.finish();
+  if ( !isSuite )
+    m_totalTestCaseTime += m_tests.back().m_timer.elapsedTime();
+
+  m_currentPath.up();
+  m_testIndexes.pop();
+}
+
+
+double 
+ClockerModel::totalElapsedTime() const
+{
+  return m_tests[0].m_timer.elapsedTime();
+}
+
+
+double 
+ClockerModel::averageTestCaseTime() const
+{
+  double average = 0;
+  if ( m_testCaseCount > 0 )
+    average = m_totalTestCaseTime / m_testCaseCount;
+  return average;
+}
+
+
+double 
+ClockerModel::testTimeFor( int testIndex ) const
+{
+  return m_tests[ testIndex ].m_timer.elapsedTime();
+}
+
+
+std::string 
+ClockerModel::timeStringFor( double time )
+{
+  char buffer[320];
+  const char *format;
+  if ( time < 1 )
+    format = "%2.3f";
+  else if ( time < 10 )
+    format = "%3.2f";
+  else if (time < 100 )
+    format = "%4.1f";
+  else
+    format = "%6f";
+
+  ::sprintf( buffer, format, time );
+
+  return buffer;
+}
+
+
+bool 
+ClockerModel::isSuite( int testIndex ) const
+{
+  return m_tests[ testIndex ].m_isSuite;
+}
+
+
+const CPPUNIT_NS::TestPath &
+ClockerModel::testPathFor( int testIndex ) const
+{
+  return m_tests[ testIndex ].m_path;
+}
+
+
+int 
+ClockerModel::indexOf( CPPUNIT_NS::Test *test ) const
+{
+  TestToIndexes::const_iterator itFound = m_testToIndexes.find( test );
+  if ( itFound != m_testToIndexes.end() )
+    return itFound->second;
+  return -1;
+}
+
+
+int 
+ClockerModel::childCountFor( int testIndex ) const
+{
+  return m_tests[ testIndex ].m_childIndexes.size();
+}
+
+
+int 
+ClockerModel::childAtFor( int testIndex, 
+                          int chidIndex ) const
+{
+  return m_tests[ testIndex ].m_childIndexes[ chidIndex ];
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerModel.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerModel.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerModel.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,95 @@
+// //////////////////////////////////////////////////////////////////////////
+// Header file ClockerModel.h for class ClockerModel
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/06/14
+// //////////////////////////////////////////////////////////////////////////
+#ifndef CLOCKERMODEL_H
+#define CLOCKERMODEL_H
+
+#include <cppunit/TestPath.h>
+#include <cppunit/portability/CppUnitVector.h>
+#include <cppunit/portability/CppUnitMap.h>
+#include <cppunit/portability/CppUnitStack.h>
+#include <string>
+
+#ifdef CLOCKER_USE_WINNTTIMER
+#include "WinNtTimer.h"
+typedef WinNtTimer Timer;
+#else
+#include "Timer.h"
+#endif
+
+
+/// Model that represents test timing.
+class ClockerModel
+{
+public:
+  /*! Constructs a ClockerModel object.
+   */
+  ClockerModel();
+
+  /// Destructor.
+  virtual ~ClockerModel();
+
+  void setExpectedTestCount( int count );
+
+  void enterTest( CPPUNIT_NS::Test *test,
+                  bool isSuite );
+
+  void exitTest( CPPUNIT_NS::Test *test,
+                 bool isSuite );
+
+  double totalElapsedTime() const;
+
+  double averageTestCaseTime() const;
+
+  double testTimeFor( CPPUNIT_NS::Test *test ) const;
+
+  double testTimeFor( int testIndex ) const;
+
+  static std::string timeStringFor( double time );
+
+  bool isSuite( int testIndex ) const;
+
+  const CPPUNIT_NS::TestPath &testPathFor( int testIndex ) const;
+
+  // -1 is none
+  int indexOf( CPPUNIT_NS::Test *test ) const;
+
+  int childCountFor( int testIndex ) const;
+
+  int childAtFor( int testIndex, 
+                  int chidIndex ) const;
+
+private:
+  struct TestInfo
+  {
+    CPPUNIT_NS::TestPath m_path;
+    Timer m_timer;
+    bool m_isSuite;
+    CppUnitVector<int> m_childIndexes;
+  };
+
+  /// Prevents the use of the copy constructor.
+  ClockerModel( const ClockerModel &other );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const ClockerModel &other );
+
+private:
+  CPPUNIT_NS::TestPath m_currentPath;
+  
+  int m_testCaseCount;
+  double m_totalTestCaseTime;
+
+  typedef CppUnitMap<CPPUNIT_NS::Test *, int> TestToIndexes;
+  
+  TestToIndexes m_testToIndexes;
+  CppUnitStack<int> m_testIndexes;
+  CppUnitVector<TestInfo> m_tests;
+};
+
+
+
+
+#endif  // CLOCKERMODEL_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerPlugIn.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerPlugIn.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerPlugIn.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,77 @@
+#include <cppunit/TestResult.h>
+#include <cppunit/XmlOutputter.h>
+#include <cppunit/plugin/TestPlugIn.h>
+#include "ClockerXmlHook.h"
+#include "ClockerListener.h"
+#include "ClockerModel.h"
+
+
+
+class ClockerPlugIn : public CppUnitTestPlugIn
+{
+public:
+  ClockerPlugIn()
+    : m_dumper( NULL )
+    , m_model( NULL )
+    , m_xmlHook( NULL )
+  {
+  }
+
+  ~ClockerPlugIn()
+  {
+    delete m_dumper;
+    delete m_model;
+    delete m_xmlHook;
+  }
+
+
+  void initialize( CPPUNIT_NS::TestFactoryRegistry *registry,
+                   const CPPUNIT_NS::PlugInParameters &parameters )
+  {
+    bool text = false;
+    if ( parameters.getCommandLine() == "text" )
+      text = true;
+
+    m_model = new ClockerModel();
+    m_dumper = new ClockerListener( m_model, text );
+    m_xmlHook = new ClockerXmlHook( m_model );
+  }
+
+
+  void addListener( CPPUNIT_NS::TestResult *eventManager )
+  {
+    eventManager->addListener( m_dumper );
+  }
+
+
+  void removeListener( CPPUNIT_NS::TestResult *eventManager )
+  {
+    eventManager->removeListener( m_dumper );
+  }
+
+
+  void addXmlOutputterHooks( CPPUNIT_NS::XmlOutputter *outputter )
+  {
+    outputter->addHook( m_xmlHook );
+  }
+
+
+  void removeXmlOutputterHooks()
+  {
+  }
+
+
+  void uninitialize( CPPUNIT_NS::TestFactoryRegistry *registry )
+  {
+  }
+
+private:
+  ClockerListener *m_dumper;
+  ClockerModel *m_model;
+  ClockerXmlHook *m_xmlHook;
+};
+
+
+CPPUNIT_PLUGIN_EXPORTED_FUNCTION_IMPL( ClockerPlugIn );
+
+CPPUNIT_TESTPLUGIN_MAIN();
\ No newline at end of file

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerPlugIn.dsp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerPlugIn.dsp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerPlugIn.dsp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,229 @@
+# Microsoft Developer Studio Project File - Name="ClockerPlugIn" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=ClockerPlugIn - Win32 Debug NtTimer
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "ClockerPlugIn.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "ClockerPlugIn.mak" CFG="ClockerPlugIn - Win32 Debug NtTimer"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "ClockerPlugIn - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "ClockerPlugIn - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "ClockerPlugIn - Win32 Debug NtTimer" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "ClockerPlugIn - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CLOCKERPLUGIN_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CPPUNIT_DLL" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40c /d "NDEBUG"
+# ADD RSC /l 0x40c /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunit_dll.lib /nologo /dll /machine:I386 /out:"../../lib/ClockerPlugIn.dll" /libpath:"../../lib/"
+
+!ELSEIF  "$(CFG)" == "ClockerPlugIn - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CLOCKERPLUGIN_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CPPUNIT_DLL" /FD /GZ /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunitd_dll.lib /nologo /dll /debug /machine:I386 /out:"../../lib/ClockerPlugInd.dll" /pdbtype:sept /libpath:"../../lib/"
+
+!ELSEIF  "$(CFG)" == "ClockerPlugIn - Win32 Debug NtTimer"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug NtTimer"
+# PROP BASE Intermediate_Dir "Debug NtTimer"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugNtTimer"
+# PROP Intermediate_Dir "DebugNtTimer"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CPPUNIT_DLL" /FD /GZ /c
+# SUBTRACT BASE CPP /YX
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CPPUNIT_DLL" /D "CLOCKER_USE_WINNTTIMER" /FD /GZ /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunitd_dll.lib /nologo /dll /debug /machine:I386 /out:"../../lib/ClockerPlugInd.dll" /pdbtype:sept /libpath:"../../lib/"
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunitd_dll.lib /nologo /dll /debug /machine:I386 /out:"../../lib/ClockerPlugInNtd.dll" /pdbtype:sept /libpath:"../../lib/"
+
+!ENDIF 
+
+# Begin Target
+
+# Name "ClockerPlugIn - Win32 Release"
+# Name "ClockerPlugIn - Win32 Debug"
+# Name "ClockerPlugIn - Win32 Debug NtTimer"
+# Begin Source File
+
+SOURCE=.\ClockerListener.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ClockerListener.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ClockerModel.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ClockerModel.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ClockerPlugIn.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ClockerXmlHook.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ClockerXmlHook.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Makefile.am
+# End Source File
+# Begin Source File
+
+SOURCE=.\ReadMe.txt
+# End Source File
+# Begin Source File
+
+SOURCE=.\Timer.cpp
+
+!IF  "$(CFG)" == "ClockerPlugIn - Win32 Release"
+
+!ELSEIF  "$(CFG)" == "ClockerPlugIn - Win32 Debug"
+
+!ELSEIF  "$(CFG)" == "ClockerPlugIn - Win32 Debug NtTimer"
+
+# PROP Exclude_From_Build 1
+
+!ENDIF 
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\Timer.h
+
+!IF  "$(CFG)" == "ClockerPlugIn - Win32 Release"
+
+!ELSEIF  "$(CFG)" == "ClockerPlugIn - Win32 Debug"
+
+!ELSEIF  "$(CFG)" == "ClockerPlugIn - Win32 Debug NtTimer"
+
+# PROP Exclude_From_Build 1
+
+!ENDIF 
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\WinNtTimer.cpp
+
+!IF  "$(CFG)" == "ClockerPlugIn - Win32 Release"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "ClockerPlugIn - Win32 Debug"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "ClockerPlugIn - Win32 Debug NtTimer"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Intermediate_Dir "DebugNtTimer"
+
+!ENDIF 
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\WinNtTimer.h
+
+!IF  "$(CFG)" == "ClockerPlugIn - Win32 Release"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "ClockerPlugIn - Win32 Debug"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "ClockerPlugIn - Win32 Debug NtTimer"
+
+# PROP BASE Exclude_From_Build 1
+
+!ENDIF 
+
+# End Source File
+# End Target
+# End Project

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerXmlHook.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerXmlHook.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerXmlHook.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,94 @@
+// //////////////////////////////////////////////////////////////////////////
+// Implementation file ClockerXmlHook.cpp for class ClockerXmlHook
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/06/14
+// //////////////////////////////////////////////////////////////////////////
+
+#include <cppunit/Test.h>
+#include <cppunit/tools/XmlDocument.h>
+#include <cppunit/tools/XmlElement.h>
+#include "ClockerModel.h"
+#include "ClockerXmlHook.h"
+
+
+ClockerXmlHook::ClockerXmlHook( ClockerModel *model )
+    : m_model( model )
+{
+}
+
+
+ClockerXmlHook::~ClockerXmlHook()
+{
+}
+
+
+void 
+ClockerXmlHook::endDocument( CPPUNIT_NS::XmlDocument *document )
+{
+  CPPUNIT_NS::XmlElement *testTreeElement = new CPPUNIT_NS::XmlElement( "TimedTestTree" );
+  document->rootElement().addElement( testTreeElement );
+
+  addTimedTest( testTreeElement, 0 );
+}
+
+
+void 
+ClockerXmlHook::addTimedTest( CPPUNIT_NS::XmlElement *parentElement, 
+                              int testIndex )
+{
+  std::string elementName = m_model->isSuite( testIndex ) ? "TimedSuite" : "TimedTest";
+  CPPUNIT_NS::XmlElement *testElement = new CPPUNIT_NS::XmlElement( elementName );
+  parentElement->addElement( testElement );
+  testElement->addAttribute( "id", testIndex );
+
+  const CPPUNIT_NS::TestPath &path = m_model->testPathFor( testIndex );
+  testElement->addElement( new CPPUNIT_NS::XmlElement( "Name", 
+                                                    path.getChildTest()->getName() ) );
+  testElement->addElement( new CPPUNIT_NS::XmlElement( "TestPath", path.toString() ) );
+  testElement->addElement( new CPPUNIT_NS::XmlElement( "Time", 
+                                 ClockerModel::timeStringFor( 
+                                    m_model->testTimeFor( testIndex ) ) ) );
+
+  if ( m_model->isSuite( testIndex ) )
+  {
+    for ( int childIndex =0; childIndex < m_model->childCountFor( testIndex ); ++childIndex )
+      addTimedTest( testElement, m_model->childAtFor( testIndex, childIndex ) );
+  }
+}
+
+
+void 
+ClockerXmlHook::failTestAdded( CPPUNIT_NS::XmlDocument *document,
+                               CPPUNIT_NS::XmlElement *testElement,
+                               CPPUNIT_NS::Test *test,
+                               CPPUNIT_NS::TestFailure *failure )
+{
+  successfulTestAdded( document, testElement, test );
+}
+
+
+void 
+ClockerXmlHook::successfulTestAdded( CPPUNIT_NS::XmlDocument *document,
+                                     CPPUNIT_NS::XmlElement *testElement,
+                                     CPPUNIT_NS::Test *test )
+{
+  int testIndex = m_model->indexOf( test );
+  double time = (testIndex >= 0) ? m_model->testTimeFor( testIndex ) : 0.0;
+  const CPPUNIT_NS::TestPath &path = m_model->testPathFor( testIndex );
+  testElement->addElement( new CPPUNIT_NS::XmlElement( "TestPath", path.toString() ) );
+  testElement->addElement( new CPPUNIT_NS::XmlElement( "Time",
+                                   ClockerModel::timeStringFor( time ) ) );
+}
+
+
+void 
+ClockerXmlHook::statisticsAdded( CPPUNIT_NS::XmlDocument *document,
+                                 CPPUNIT_NS::XmlElement *statisticsElement )
+{
+  statisticsElement->addElement( 
+      new CPPUNIT_NS::XmlElement( "TotalElapsedTime",
+           ClockerModel::timeStringFor( m_model->totalElapsedTime() ) ) );
+  statisticsElement->addElement( 
+      new CPPUNIT_NS::XmlElement( "AverageTestCaseTime",
+           ClockerModel::timeStringFor( m_model->averageTestCaseTime() ) ) );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerXmlHook.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerXmlHook.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ClockerXmlHook.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,61 @@
+// //////////////////////////////////////////////////////////////////////////
+// Header file ClockerXmlHook.h for class ClockerXmlHook
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/06/14
+// //////////////////////////////////////////////////////////////////////////
+#ifndef CLOCKERXMLHOOK_H
+#define CLOCKERXMLHOOK_H
+
+#include <cppunit/XmlOutputterHook.h>
+
+class ClockerModel;
+
+
+
+/// XML output hook to add test timing and test hierarchy timing.
+class ClockerXmlHook : public CPPUNIT_NS::XmlOutputterHook
+{
+public:
+  /*! Constructs a ClockerXmlHook object.
+   */
+  ClockerXmlHook( ClockerModel *model );
+
+  /// Destructor.
+  virtual ~ClockerXmlHook();
+
+  void endDocument( CPPUNIT_NS::XmlDocument *document );
+
+  void failTestAdded( CPPUNIT_NS::XmlDocument *document,
+                      CPPUNIT_NS::XmlElement *testElement,
+                      CPPUNIT_NS::Test *test,
+                      CPPUNIT_NS::TestFailure *failure );
+
+  void successfulTestAdded( CPPUNIT_NS::XmlDocument *document,
+                            CPPUNIT_NS::XmlElement *testElement,
+                            CPPUNIT_NS::Test *test );
+
+  void statisticsAdded( CPPUNIT_NS::XmlDocument *document,
+                        CPPUNIT_NS::XmlElement *statisticsElement );
+
+private:
+  /// Prevents the use of the copy constructor.
+  ClockerXmlHook( const ClockerXmlHook &other );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const ClockerXmlHook &other );
+
+  void addTimedTest( CPPUNIT_NS::XmlElement *parentElement, 
+                     int testIndex );
+
+private:
+  ClockerModel *m_model;
+};
+
+
+
+// Inlines methods for ClockerXmlHook:
+// -----------------------------------
+
+
+
+#endif  // CLOCKERXMLHOOK_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Makefile.am
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Makefile.am	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Makefile.am	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,6 @@
+EXTRA_DIST =  WinNtTimer.h WinNtTimer.cpp ClockerPlugIn.dsp \
+	Timer.h ClockerListener.h \
+	Timer.cpp ClockerListener.cpp \
+	ClockerPlugIn.cpp ClockerModel.h \
+  ClockerModel.cpp ReadMe.txt \
+  ClockerXmlHook.h ClockerXmlHook.cpp

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Makefile.in
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Makefile.in	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Makefile.in	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,305 @@
+# Makefile.in generated by automake 1.7.5 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPUNIT_BINARY_AGE = @CPPUNIT_BINARY_AGE@
+CPPUNIT_INTERFACE_AGE = @CPPUNIT_INTERFACE_AGE@
+CPPUNIT_MAJOR_VERSION = @CPPUNIT_MAJOR_VERSION@
+CPPUNIT_MICRO_VERSION = @CPPUNIT_MICRO_VERSION@
+CPPUNIT_MINOR_VERSION = @CPPUNIT_MINOR_VERSION@
+CPPUNIT_VERSION = @CPPUNIT_VERSION@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOC_FALSE = @DOC_FALSE@
+DOC_TRUE = @DOC_TRUE@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBADD_DL = @LIBADD_DL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+enable_dot = @enable_dot@
+enable_html_docs = @enable_html_docs@
+enable_latex_docs = @enable_latex_docs@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+EXTRA_DIST = WinNtTimer.h WinNtTimer.cpp ClockerPlugIn.dsp \
+	Timer.h ClockerListener.h \
+	Timer.cpp ClockerListener.cpp \
+	ClockerPlugIn.cpp ClockerModel.h \
+  ClockerModel.cpp ReadMe.txt \
+  ClockerXmlHook.h ClockerXmlHook.cpp
+
+subdir = examples/ClockerPlugIn
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DIST_COMMON = Makefile.am Makefile.in
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  examples/ClockerPlugIn/Makefile
+Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkinstalldirs) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile
+
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am info info-am install install-am install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ReadMe.txt
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ReadMe.txt	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/ReadMe.txt	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,44 @@
+A test plug-ins that track tests and test suites running time. It demonstrates
+TestListener, TestPlugIn, and XmlOutputterHook.
+
+Both suite and test case times are tracked. The plug-in include in the XML
+output the TestPath of each test cases and its tracked time.
+
+The timed test hierarchy is also included in the XML output. This way it is
+possible to see the time each suite takes to run.
+
+
+
+* Usage:
+
+Just add this plug-in to DllPlugInTester command line. It will add a test 
+listener to track test time, and add a hook to the XmlOutputter to include
+test time to the XmlOutput.
+
+If the option "text" is passed to the plug-in, the timed test tree will be
+printed to stdout.
+
+DllPlugInRunnerd.exe ClockerPlugInd.dll
+or
+DllPlugInRunnerd.exe ClockerPlugInd.dll=text
+
+* Example:
+
+DllPlugInTesterd_dll.exe -x timed.xml ClockerPlugInd.dll CppUnitTestPlugInd.dll 
+
+Will track time of all tests contains in CppUnitTestPlugInd.dll and save the
+result in timed.xml.
+
+* Notes:
+
+The id of the <TimedTestTree> are different than those of the
+<SuccessfulTests> and <FailedTests> trees. You can use the <TestPath> to 
+cross-reference the datas.
+
+* Remarks:
+
+You may want to review ClockerModel before using this plug-in for serious
+purpose, add timing based on the process cpu time.
+
+A version is provided for NT that use the main thread cpu time. This is an issue 
+if the test cases are multithreaded.

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Timer.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Timer.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Timer.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,28 @@
+// //////////////////////////////////////////////////////////////////////////
+// Implementation file Timer.cpp for class Timer
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/04/19
+// //////////////////////////////////////////////////////////////////////////
+
+#include "Timer.h"
+
+
+void 
+Timer::start()
+{
+  m_beginTime = clock();
+}
+
+
+void 
+Timer::finish()
+{
+  m_elapsedTime = double(clock() - m_beginTime) / CLOCKS_PER_SEC;
+}
+
+
+double 
+Timer::elapsedTime() const
+{
+  return m_elapsedTime;
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Timer.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Timer.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/Timer.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,32 @@
+// //////////////////////////////////////////////////////////////////////////
+// Header file Timer.h for class Timer
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/04/19
+// //////////////////////////////////////////////////////////////////////////
+#ifndef TIMER_H
+#define TIMER_H
+
+#include <time.h>
+
+/// A Timer.
+class Timer
+{
+public:
+  void start();
+  void finish();
+
+  double elapsedTime() const;
+
+private:
+  clock_t m_beginTime;
+  double m_elapsedTime;
+};
+
+
+
+// Inlines methods for Timer:
+// --------------------------
+
+
+
+#endif  // TIMER_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/WinNtTimer.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/WinNtTimer.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/WinNtTimer.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,77 @@
+// //////////////////////////////////////////////////////////////////////////
+// Implementation file WinNtTimer.cpp for class WinNtTimer
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/04/19
+// //////////////////////////////////////////////////////////////////////////
+
+#include "WinNtTimer.h"
+
+
+/*! Returns time spent in the thread.
+ * @param rquadTime Receive the time spent in the thread (user+kernel time) 
+ *                  in unit of 100 nano-seconds.
+ *                  In pratice, the effective resolution is 10ms !!!
+ *
+ * @return \c true if sucess, \c false otherwise.
+ */
+static bool 
+GetThreadSpentTime( LONGLONG &rquadTime )
+{
+  FILETIME timeCreation;
+  FILETIME timeExit;
+  FILETIME timeKernel;
+  FILETIME timeUser;
+  if ( !::GetThreadTimes( ::GetCurrentThread(),
+                          &timeCreation,
+                          &timeExit,
+                          &timeKernel,
+                          &timeUser) )
+  {
+    rquadTime = 0;
+    return false;
+  }
+
+  LARGE_INTEGER lintKernel;
+  lintKernel.LowPart = timeKernel.dwLowDateTime;
+  lintKernel.HighPart = timeKernel.dwHighDateTime;
+
+  LARGE_INTEGER lintUser;
+  lintUser.LowPart = timeUser.dwLowDateTime;
+  lintUser.HighPart = timeUser.dwHighDateTime;
+
+  rquadTime = lintKernel.QuadPart + lintUser.QuadPart;
+
+  return true;
+}
+
+
+
+void 
+WinNtTimer::start()
+{
+  m_isValid = GetThreadSpentTime( m_beginTime );
+
+}
+
+
+void 
+WinNtTimer::finish()
+{
+  LONGLONG quadTimeEnd;
+  LONGLONG quadProcessedElapse;
+  m_isValid = m_isValid  && GetThreadSpentTime( quadTimeEnd );
+  if ( m_isValid )
+  {
+    quadProcessedElapse = quadTimeEnd - m_beginTime;
+    m_elapsedTime = double(quadProcessedElapse) / 10000000;
+  }
+  else
+    m_elapsedTime = -1;
+}
+
+
+double 
+WinNtTimer::elapsedTime() const
+{
+  return m_elapsedTime;
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/WinNtTimer.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/WinNtTimer.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/ClockerPlugIn/WinNtTimer.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,36 @@
+// //////////////////////////////////////////////////////////////////////////
+// Header file WinNtTimer.h for class WinNtTimer
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/04/19
+// //////////////////////////////////////////////////////////////////////////
+#ifndef WINNTTIMER_H
+#define WINNTTIMER_H
+
+#include <windows.h>
+#include <winnt.h>
+#include <winbase.h>
+
+
+/// A Timer.
+class WinNtTimer
+{
+public:
+  void start();
+  void finish();
+
+  double elapsedTime() const;
+
+private:
+  LONGLONG m_beginTime;
+  double m_elapsedTime;
+  bool m_isValid;
+};
+
+
+
+// Inlines methods for Timer:
+// --------------------------
+
+
+
+#endif  // WINNTTIMER_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperListener.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperListener.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperListener.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,120 @@
+// //////////////////////////////////////////////////////////////////////////
+// Implementation file DumperListener.cpp for class DumperListener
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/04/19
+// //////////////////////////////////////////////////////////////////////////
+#include <cppunit/Test.h>
+#include <iostream>
+#include "DumperListener.h"
+
+DumperListener::DumperListener( bool flatten )
+    : m_flatten( flatten )
+    , m_suiteCount( 0 )
+    , m_testCount( 0 )
+    , m_suiteWithTestCount( 0 )
+{
+}
+
+
+DumperListener::~DumperListener()
+{
+}
+
+
+void 
+DumperListener::startTest( CPPUNIT_NS::Test *test )
+{
+  printPath( test, false );
+  ++m_testCount;
+}
+
+
+void 
+DumperListener::endTest( CPPUNIT_NS::Test *test )
+{
+  m_path.up();
+  if ( !m_suiteHasTest.empty() )
+  {
+    m_suiteHasTest.pop();
+    m_suiteHasTest.push( true );
+  }
+}
+
+
+void 
+DumperListener::startSuite( CPPUNIT_NS::Test *suite )
+{
+  printPath( suite, true );
+  ++m_suiteCount;
+  m_suiteHasTest.push( false );
+}
+
+
+void 
+DumperListener::endSuite( CPPUNIT_NS::Test *suite )
+{
+  m_path.up();
+  if ( m_suiteHasTest.top() )
+    ++m_suiteWithTestCount;
+  m_suiteHasTest.pop();
+}
+
+
+void 
+DumperListener::endTestRun( CPPUNIT_NS::Test *test, 
+                            CPPUNIT_NS::TestResult *eventManager )
+{
+  double average = 0;
+  if ( m_suiteWithTestCount > 0 )
+    average = double(m_testCount) / m_suiteWithTestCount;
+
+  std::cout << "Statistics: "  <<  m_testCount  <<  " test cases, "
+            << m_suiteCount << " suites, "
+            << average << " test cases / suite with test cases"
+            << std::endl;
+}
+
+
+void 
+DumperListener::printPath( CPPUNIT_NS::Test *test, 
+                           bool isSuite )
+{
+  m_path.add( test );
+
+  if ( m_flatten )
+    printFlattenedPath( isSuite );
+  else
+    printIndentedPathChild();
+}
+
+
+void 
+DumperListener::printFlattenedPath( bool isSuite )
+{
+  std::string path = m_path.toString();
+  if ( isSuite )
+    path += "/";
+  std::cout  <<  path  <<  std::endl;
+}
+
+
+void 
+DumperListener::printIndentedPathChild()
+{
+  std::string indent = makeIndentString( m_path.getTestCount() -1 );
+  std::cout  <<  indent  <<  m_path.getChildTest()->getName()  <<  std::endl;
+}
+
+
+std::string 
+DumperListener::makeIndentString( int indentLevel )
+{
+  std::string indent;
+  for ( int parentIndent =0; parentIndent < indentLevel-1; ++parentIndent )
+    indent += "|  ";
+  
+  if ( indentLevel > 0 )
+    indent += "+--";
+
+  return indent;
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperListener.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperListener.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperListener.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,67 @@
+// //////////////////////////////////////////////////////////////////////////
+// Header file DumperListener.h for class DumperListener
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/04/19
+// //////////////////////////////////////////////////////////////////////////
+#ifndef DUMPERLISTENER_H
+#define DUMPERLISTENER_H
+
+#include <cppunit/portability/CppUnitStack.h>
+#include <cppunit/TestListener.h>
+#include <cppunit/TestPath.h>
+
+
+/// TestListener that prints a flatten or hierarchical view of the test tree.
+class DumperListener : public CPPUNIT_NS::TestListener
+{
+public:
+  DumperListener( bool flatten );
+
+  virtual ~DumperListener();
+
+  void startTest( CPPUNIT_NS::Test *test );
+
+  void endTest( CPPUNIT_NS::Test *test );
+
+  void startSuite( CPPUNIT_NS::Test *suite );
+
+  void endSuite( CPPUNIT_NS::Test *suite );
+
+  void endTestRun( CPPUNIT_NS::Test *test, 
+                   CPPUNIT_NS::TestResult *eventManager );
+
+private:
+  /// Prevents the use of the copy constructor.
+  DumperListener( const DumperListener &other );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const DumperListener &other );
+
+  void printPath( CPPUNIT_NS::Test *test, 
+                  bool isSuite );
+
+  void printFlattenedPath( bool isSuite );
+
+  void printIndentedPathChild();
+
+  std::string makeIndentString( int indentLevel );
+
+private:
+  bool m_flatten;
+  CPPUNIT_NS::TestPath m_path;
+  
+  int m_suiteCount;
+  int m_testCount;
+  int m_suiteWithTestCount;
+
+  CppUnitStack<bool> m_suiteHasTest;
+};
+
+
+
+// Inlines methods for DumperListener:
+// -----------------------------------
+
+
+
+#endif  // DUMPERLISTENER_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperPlugIn.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperPlugIn.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperPlugIn.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,65 @@
+#include <cppunit/TestResult.h>
+#include <cppunit/plugin/TestPlugIn.h>
+#include "DumperListener.h"
+
+
+
+class DumperPlugIn : public CppUnitTestPlugIn
+{
+public:
+  DumperPlugIn()
+    : m_dumper( NULL )
+  {
+  }
+
+  ~DumperPlugIn()
+  {
+    delete m_dumper;
+  }
+
+
+  void initialize( CPPUNIT_NS::TestFactoryRegistry *registry,
+                   const CPPUNIT_NS::PlugInParameters &parameters )
+  {
+    bool flatten = false;
+    if ( parameters.getCommandLine() == "flat" )
+      flatten = true;
+
+    m_dumper = new DumperListener( flatten );
+  }
+
+
+  void addListener( CPPUNIT_NS::TestResult *eventManager )
+  {
+    eventManager->addListener( m_dumper );
+  }
+
+
+  void removeListener( CPPUNIT_NS::TestResult *eventManager )
+  {
+    eventManager->removeListener( m_dumper );
+  }
+
+
+  void addXmlOutputterHooks( CPPUNIT_NS::XmlOutputter *outputter )
+  {
+  }
+
+
+  void removeXmlOutputterHooks()
+  {
+  }
+
+
+  void uninitialize( CPPUNIT_NS::TestFactoryRegistry *registry )
+  {
+  }
+
+private:
+  DumperListener *m_dumper;
+};
+
+
+CPPUNIT_PLUGIN_EXPORTED_FUNCTION_IMPL( DumperPlugIn );
+
+CPPUNIT_TESTPLUGIN_MAIN();
\ No newline at end of file

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperPlugIn.dsp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperPlugIn.dsp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/DumperPlugIn.dsp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,107 @@
+# Microsoft Developer Studio Project File - Name="DumperPlugIn" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=DumperPlugIn - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "DumperPlugIn.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "DumperPlugIn.mak" CFG="DumperPlugIn - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "DumperPlugIn - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "DumperPlugIn - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "DumperPlugIn - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 1
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DUMPERPLUGIN_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DUMPERPLUGIN_EXPORTS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40c /d "NDEBUG"
+# ADD RSC /l 0x40c /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunit_dll.lib /nologo /dll /machine:I386 /out:"../../lib/DumperPlugIn.dll" /libpath:"../../lib/"
+
+!ELSEIF  "$(CFG)" == "DumperPlugIn - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 1
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DUMPERPLUGIN_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "DUMPERPLUGIN_EXPORTS" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunitd_dll.lib /nologo /dll /debug /machine:I386 /out:"../../lib/DumperPlugInd.dll" /pdbtype:sept /libpath:"../../lib/"
+
+!ENDIF 
+
+# Begin Target
+
+# Name "DumperPlugIn - Win32 Release"
+# Name "DumperPlugIn - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\DumperListener.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\DumperListener.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\DumperPlugIn.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Makefile.am
+# End Source File
+# End Target
+# End Project

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/Makefile.am
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/Makefile.am	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/Makefile.am	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,2 @@
+EXTRA_DIST =  DumperListener.h     DumperListener.cpp   DumperPlugIn.cpp  \
+	DumperPlugIn.dsp
\ No newline at end of file

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/Makefile.in
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/Makefile.in	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/DumperPlugIn/Makefile.in	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,301 @@
+# Makefile.in generated by automake 1.7.5 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPUNIT_BINARY_AGE = @CPPUNIT_BINARY_AGE@
+CPPUNIT_INTERFACE_AGE = @CPPUNIT_INTERFACE_AGE@
+CPPUNIT_MAJOR_VERSION = @CPPUNIT_MAJOR_VERSION@
+CPPUNIT_MICRO_VERSION = @CPPUNIT_MICRO_VERSION@
+CPPUNIT_MINOR_VERSION = @CPPUNIT_MINOR_VERSION@
+CPPUNIT_VERSION = @CPPUNIT_VERSION@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOC_FALSE = @DOC_FALSE@
+DOC_TRUE = @DOC_TRUE@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBADD_DL = @LIBADD_DL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+enable_dot = @enable_dot@
+enable_html_docs = @enable_html_docs@
+enable_latex_docs = @enable_latex_docs@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+EXTRA_DIST = DumperListener.h     DumperListener.cpp   DumperPlugIn.cpp  \
+	DumperPlugIn.dsp
+
+subdir = examples/DumperPlugIn
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DIST_COMMON = Makefile.am Makefile.in
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  examples/DumperPlugIn/Makefile
+Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkinstalldirs) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile
+
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am info info-am install install-am install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/Makefile.am
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/Makefile.am	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/Makefile.am	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,7 @@
+SUBDIRS = hierarchy cppunittest simple ClockerPlugIn DumperPlugIn money
+
+# No dist subdir for msvc6: is handled by toplevel dist-hook
+# DIST_SUBDIRS = msvc6
+
+EXTRA_DIST = examples.dsw examples.opt
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/Makefile.in
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/Makefile.in	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/Makefile.in	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,453 @@
+# Makefile.in generated by automake 1.7.5 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPUNIT_BINARY_AGE = @CPPUNIT_BINARY_AGE@
+CPPUNIT_INTERFACE_AGE = @CPPUNIT_INTERFACE_AGE@
+CPPUNIT_MAJOR_VERSION = @CPPUNIT_MAJOR_VERSION@
+CPPUNIT_MICRO_VERSION = @CPPUNIT_MICRO_VERSION@
+CPPUNIT_MINOR_VERSION = @CPPUNIT_MINOR_VERSION@
+CPPUNIT_VERSION = @CPPUNIT_VERSION@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOC_FALSE = @DOC_FALSE@
+DOC_TRUE = @DOC_TRUE@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBADD_DL = @LIBADD_DL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+enable_dot = @enable_dot@
+enable_html_docs = @enable_html_docs@
+enable_latex_docs = @enable_latex_docs@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+SUBDIRS = hierarchy cppunittest simple ClockerPlugIn DumperPlugIn money
+
+
+# No dist subdir for msvc6: is handled by toplevel dist-hook
+# DIST_SUBDIRS = msvc6
+EXTRA_DIST = examples.dsw examples.opt
+subdir = examples
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+
+RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
+	ps-recursive install-info-recursive uninstall-info-recursive \
+	all-recursive install-data-recursive install-exec-recursive \
+	installdirs-recursive install-recursive uninstall-recursive \
+	check-recursive installcheck-recursive
+DIST_COMMON = Makefile.am Makefile.in
+DIST_SUBDIRS = $(SUBDIRS)
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  examples/Makefile
+Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@set fnord $$MAKEFLAGS; amf=$$2; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@set fnord $$MAKEFLAGS; amf=$$2; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if (etags --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	else \
+	  include_option=--include; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -f $$subdir/TAGS && \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(ETAGS_ARGS)$$tags$$unique" \
+	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	     $$tags $$unique
+
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkinstalldirs) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d $(distdir)/$$subdir \
+	    || mkdir $(distdir)/$$subdir \
+	    || exit 1; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$(top_distdir)" \
+	        distdir=../$(distdir)/$$subdir \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+
+distclean-am: clean-am distclean-generic distclean-libtool \
+	distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
+	clean-generic clean-libtool clean-recursive ctags \
+	ctags-recursive distclean distclean-generic distclean-libtool \
+	distclean-recursive distclean-tags distdir dvi dvi-am \
+	dvi-recursive info info-am info-recursive install install-am \
+	install-data install-data-am install-data-recursive \
+	install-exec install-exec-am install-exec-recursive \
+	install-info install-info-am install-info-recursive install-man \
+	install-recursive install-strip installcheck installcheck-am \
+	installdirs installdirs-am installdirs-recursive \
+	maintainer-clean maintainer-clean-generic \
+	maintainer-clean-recursive mostlyclean mostlyclean-generic \
+	mostlyclean-libtool mostlyclean-recursive pdf pdf-am \
+	pdf-recursive ps ps-am ps-recursive tags tags-recursive \
+	uninstall uninstall-am uninstall-info-am \
+	uninstall-info-recursive uninstall-recursive
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/BaseTestCase.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/BaseTestCase.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/BaseTestCase.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,36 @@
+#include "BaseTestCase.h"
+
+
+BaseTestCase::BaseTestCase()
+{
+}
+
+
+BaseTestCase::~BaseTestCase()
+{
+}
+
+
+void 
+BaseTestCase::setUp()
+{
+}
+
+
+void 
+BaseTestCase::tearDown()
+{
+}
+
+
+void 
+BaseTestCase::testUsingCheckIt()
+{
+  checkIt();
+}
+
+
+void 
+BaseTestCase::checkIt()
+{
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/BaseTestCase.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/BaseTestCase.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/BaseTestCase.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,32 @@
+#ifndef BASETESTCASE_H
+#define BASETESTCASE_H
+
+#include <cppunit/extensions/HelperMacros.h>
+
+
+class BaseTestCase : public CPPUNIT_NS::TestCase
+{
+  CPPUNIT_TEST_SUITE( BaseTestCase );
+  CPPUNIT_TEST( testUsingCheckIt );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  BaseTestCase();
+  virtual ~BaseTestCase();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  void testUsingCheckIt();
+
+protected:
+  virtual void checkIt();
+
+private:
+  BaseTestCase( const BaseTestCase &copy );
+  void operator =( const BaseTestCase &copy );
+};
+
+
+
+#endif  // BASETESTCASE_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CoreSuite.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CoreSuite.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CoreSuite.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,12 @@
+#ifndef CPPUNITTEST_CORESUITE_H
+#define CPPUNITTEST_CORESUITE_H
+
+#include <cppunit/Portability.h>
+#include <string>
+
+inline std::string coreSuiteName()
+{
+  return "Core";
+}
+
+#endif // CPPUNITTEST_CORESUITE_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestMain.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestMain.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestMain.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,66 @@
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/TestResult.h>
+#include <cppunit/TestResultCollector.h>
+#include <cppunit/TestRunner.h>
+#include <cppunit/TextTestProgressListener.h>
+#include <cppunit/BriefTestProgressListener.h>
+#include <cppunit/XmlOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <stdexcept>
+#include <fstream>
+
+
+int 
+main( int argc, char* argv[] )
+{
+  // Retreive test path from command line first argument. Default to "" which resolve
+  // to the top level suite.
+  std::string testPath = (argc > 1) ? std::string(argv[1]) : std::string("");
+
+  // Create the event manager and test controller
+  CPPUNIT_NS::TestResult controller;
+
+  // Add a listener that colllects test result
+  CPPUNIT_NS::TestResultCollector result;
+  controller.addListener( &result );        
+
+  // Add a listener that print dots as test run.
+#ifdef WIN32
+  CPPUNIT_NS::TextTestProgressListener progress;
+#else
+  CPPUNIT_NS::BriefTestProgressListener progress;
+#endif
+  controller.addListener( &progress );      
+
+  // Add the top suite to the test runner
+  CPPUNIT_NS::TestRunner runner;
+  runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );   
+  try
+  {
+    std::cout << "Running "  <<  testPath;
+    runner.run( controller, testPath );
+
+    std::cerr << std::endl;
+
+    // Print test in a compiler compatible format.
+    CPPUNIT_NS::CompilerOutputter outputter( &result, std::cerr );
+    outputter.write(); 
+
+// Uncomment this for XML output
+//    std::ofstream file( "tests.xml" );
+//    CPPUNIT_NS::XmlOutputter xml( &result, file );
+//    xml.setStyleSheet( "report.xsl" );
+//    xml.write();
+//    file.close();
+  }
+  catch ( std::invalid_argument &e )  // Test path not resolved
+  {
+    std::cerr  <<  std::endl  
+               <<  "ERROR: "  <<  e.what()
+               << std::endl;
+    return 0;
+  }
+
+  return result.wasSuccessful() ? 0 : 1;
+}
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestMain.dsp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestMain.dsp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestMain.dsp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,536 @@
+# Microsoft Developer Studio Project File - Name="CppUnitTestMain" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=CppUnitTestMain - Win32 Debug DLL
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "CppUnitTestMain.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "CppUnitTestMain.mak" CFG="CppUnitTestMain - Win32 Debug DLL"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "CppUnitTestMain - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "CppUnitTestMain - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "CppUnitTestMain - Win32 Release DLL" (based on "Win32 (x86) Console Application")
+!MESSAGE "CppUnitTestMain - Win32 Debug DLL" (based on "Win32 (x86) Console Application")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "CppUnitTestMain - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX /Yc /Yu
+# ADD BASE RSC /l 0x40c /d "NDEBUG"
+# ADD RSC /l 0x40c /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunit.lib /nologo /subsystem:console /machine:I386 /libpath:"../../lib/"
+# Begin Special Build Tool
+TargetPath=.\Release\CppUnitTestMain.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Self test
+PostBuild_Cmds=$(TargetPath)
+# End Special Build Tool
+
+!ELSEIF  "$(CFG)" == "CppUnitTestMain - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
+# SUBTRACT CPP /YX /Yc /Yu
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunitd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../lib/"
+# Begin Special Build Tool
+TargetPath=.\Debug\CppUnitTestMain.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Self test
+PostBuild_Cmds=$(TargetPath)
+# End Special Build Tool
+
+!ELSEIF  "$(CFG)" == "CppUnitTestMain - Win32 Release DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "CppUnitTestMain___Win32_Release_DLL"
+# PROP BASE Intermediate_Dir "CppUnitTestMain___Win32_Release_DLL"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseDLL"
+# PROP Intermediate_Dir "ReleaseDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /GR /GX /O2 /I "../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "CPPUNIT_USE_TYPEINFO" /FD /c
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "CPPUNIT_DLL" /FD /c
+# SUBTRACT CPP /YX /Yc /Yu
+# ADD BASE RSC /l 0x40c /d "NDEBUG"
+# ADD RSC /l 0x40c /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../lib/cppunit.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunit_dll.lib /nologo /subsystem:console /machine:I386 /libpath:"../../lib/"
+# Begin Special Build Tool
+TargetPath=.\ReleaseDLL\CppUnitTestMain.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Self test
+PostBuild_Cmds=$(TargetPath)
+# End Special Build Tool
+
+!ELSEIF  "$(CFG)" == "CppUnitTestMain - Win32 Debug DLL"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "CppUnitTestMain___Win32_Debug_DLL"
+# PROP BASE Intermediate_Dir "CppUnitTestMain___Win32_Debug_DLL"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugDLL"
+# PROP Intermediate_Dir "DebugDLL"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "CPPUNIT_DLL" /FD /GZ /c
+# SUBTRACT CPP /YX /Yc /Yu
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../../lib/cppunitd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunitd_dll.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../lib/"
+# Begin Special Build Tool
+TargetPath=.\DebugDLL\CppUnitTestMain.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Self test
+PostBuild_Cmds=$(TargetPath)
+# End Special Build Tool
+
+!ENDIF 
+
+# Begin Target
+
+# Name "CppUnitTestMain - Win32 Release"
+# Name "CppUnitTestMain - Win32 Debug"
+# Name "CppUnitTestMain - Win32 Release DLL"
+# Name "CppUnitTestMain - Win32 Debug DLL"
+# Begin Group "Tests"
+
+# PROP Default_Filter ""
+# Begin Group "Core"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\ExceptionTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ExceptionTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MessageTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\MessageTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestAssertTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestAssertTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestCallerTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestCallerTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestCaseTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestCaseTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestFailureTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestFailureTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestPathTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestPathTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestResultTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestResultTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestSuiteTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestSuiteTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestTest.h
+# End Source File
+# End Group
+# Begin Group "UnitTestTools"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\XmlUniformiser.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlUniformiser.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlUniformiserTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlUniformiserTest.h
+# End Source File
+# End Group
+# Begin Group "Helper"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\HelperMacrosTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\HelperMacrosTest.h
+# End Source File
+# End Group
+# Begin Group "Extension"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\ExceptionTestCaseDecoratorTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ExceptionTestCaseDecoratorTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\OrthodoxTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\OrthodoxTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\RepeatedTestTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\RepeatedTestTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestDecoratorTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestDecoratorTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestSetUpTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestSetUpTest.h
+# End Source File
+# End Group
+# Begin Group "Output"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\TestResultCollectorTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestResultCollectorTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlOutputterTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlOutputterTest.h
+# End Source File
+# End Group
+# Begin Group "Tools"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\StringToolsTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\StringToolsTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlElementTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlElementTest.h
+# End Source File
+# End Group
+# End Group
+# Begin Group "TestSupport"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\BaseTestCase.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BaseTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FailureException.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MockFunctor.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MockProtector.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MockTestCase.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\MockTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MockTestListener.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\MockTestListener.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SubclassedTestCase.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SubclassedTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SynchronizedTestResult.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TrackedTestCase.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TrackedTestCase.h
+# End Source File
+# End Group
+# Begin Group "Suites"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\CoreSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\CppUnitTestSuite.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ExtensionSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\HelperSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\OutputSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ToolsSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\UnitTestToolSuite.h
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\..\lib\cppunit_dll.dll
+
+!IF  "$(CFG)" == "CppUnitTestMain - Win32 Release"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "CppUnitTestMain - Win32 Debug"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "CppUnitTestMain - Win32 Release DLL"
+
+# Begin Custom Build - Updating DLL: $(InputPath)
+IntDir=.\ReleaseDLL
+InputPath=..\..\lib\cppunit_dll.dll
+InputName=cppunit_dll
+
+"$(IntDir)\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	copy $(InputPath) $(IntDir)\$(InputName).dll
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "CppUnitTestMain - Win32 Debug DLL"
+
+# PROP Exclude_From_Build 1
+
+!ENDIF 
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\lib\cppunitd_dll.dll
+
+!IF  "$(CFG)" == "CppUnitTestMain - Win32 Release"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "CppUnitTestMain - Win32 Debug"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "CppUnitTestMain - Win32 Release DLL"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "CppUnitTestMain - Win32 Debug DLL"
+
+# Begin Custom Build - Updating DLL: $(InputPath)
+IntDir=.\DebugDLL
+InputPath=..\..\lib\cppunitd_dll.dll
+InputName=cppunitd_dll
+
+"$(IntDir)\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	copy $(InputPath) $(IntDir)\$(InputName).dll
+
+# End Custom Build
+
+!ENDIF 
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\CppUnitTestMain.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Makefile.am
+# End Source File
+# End Target
+# End Project

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestMain.dsw
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestMain.dsw	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestMain.dsw	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,59 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "CppUnitTestMain"=.\CppUnitTestMain.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name cppunit_dll
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "cppunit"=..\..\src\cppunit\cppunit.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "cppunit_dll"=..\..\SRC\CPPUNIT\cppunit_dll.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestPlugIn.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestPlugIn.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestPlugIn.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,5 @@
+#include <cppunit/plugin/TestPlugIn.h>
+
+
+// Implements all the plug-in stuffs, WinMain...
+CPPUNIT_PLUGIN_IMPLEMENT();

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestPlugIn.dsp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestPlugIn.dsp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestPlugIn.dsp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,395 @@
+# Microsoft Developer Studio Project File - Name="CppUnitTestPlugIn" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=CppUnitTestPlugIn - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "CppUnitTestPlugIn.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "CppUnitTestPlugIn.mak" CFG="CppUnitTestPlugIn - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "CppUnitTestPlugIn - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "CppUnitTestPlugIn - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "CppUnitTestPlugIn - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleasePlugIn"
+# PROP Intermediate_Dir "ReleasePlugIn"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CPPUNITTESTPLUGIN_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../include" /D "NDEBUG" /D "CPPUNITTESTPLUGIN_EXPORTS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CPPUNIT_DLL" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40c /d "NDEBUG"
+# ADD RSC /l 0x40c /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunit_dll.lib /nologo /dll /machine:I386 /libpath:"../../lib/"
+
+!ELSEIF  "$(CFG)" == "CppUnitTestPlugIn - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugPlugIn"
+# PROP Intermediate_Dir "DebugPlugIn"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CPPUNITTESTPLUGIN_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /D "_DEBUG" /D "CPPUNIT_DLL" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunitd_dll.lib /nologo /dll /debug /machine:I386 /out:"DebugPlugIn/CppUnitTestPlugInd.dll" /pdbtype:sept /libpath:"../../lib/"
+
+!ENDIF 
+
+# Begin Target
+
+# Name "CppUnitTestPlugIn - Win32 Release"
+# Name "CppUnitTestPlugIn - Win32 Debug"
+# Begin Group "Suites"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\CoreSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\CppUnitTestSuite.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CppUnitTestSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ExtensionSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\HelperSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\OutputSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ToolsSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\UnitTestToolSuite.h
+# End Source File
+# End Group
+# Begin Group "TestSupport"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\BaseTestCase.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BaseTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\FailureException.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MockFunctor.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MockProtector.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MockTestCase.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\MockTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MockTestListener.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\MockTestListener.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SubclassedTestCase.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\SubclassedTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SynchronizedTestResult.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TrackedTestCase.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TrackedTestCase.h
+# End Source File
+# End Group
+# Begin Group "Tests"
+
+# PROP Default_Filter ""
+# Begin Group "Core"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\ExceptionTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ExceptionTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MessageTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\MessageTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestAssertTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestAssertTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestCallerTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestCallerTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestCaseTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestCaseTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestFailureTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestFailureTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestPathTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestPathTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestResultTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestResultTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestSuiteTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestSuiteTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestTest.h
+# End Source File
+# End Group
+# Begin Group "UnitTestTools"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\XmlUniformiser.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlUniformiser.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlUniformiserTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlUniformiserTest.h
+# End Source File
+# End Group
+# Begin Group "Helper"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\HelperMacrosTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\HelperMacrosTest.h
+# End Source File
+# End Group
+# Begin Group "Extension"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\ExceptionTestCaseDecoratorTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ExceptionTestCaseDecoratorTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\OrthodoxTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\OrthodoxTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\RepeatedTestTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\RepeatedTestTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestDecoratorTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestDecoratorTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestSetUpTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestSetUpTest.h
+# End Source File
+# End Group
+# Begin Group "Output"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\TestResultCollectorTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\TestResultCollectorTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlOutputterTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlOutputterTest.h
+# End Source File
+# End Group
+# Begin Group "Tools"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\StringToolsTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\StringToolsTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlElementTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\XmlElementTest.h
+# End Source File
+# End Group
+# End Group
+# Begin Source File
+
+SOURCE=.\CppUnitTestPlugIn.cpp
+# End Source File
+# End Target
+# End Project

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestSuite.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestSuite.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/CppUnitTestSuite.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,14 @@
+#include <cppunit/extensions/HelperMacros.h>
+#include "CoreSuite.h"
+#include "HelperSuite.h"
+#include "ExtensionSuite.h"
+#include "OutputSuite.h"
+#include "ToolsSuite.h"
+#include "UnitTestToolSuite.h"
+
+CPPUNIT_REGISTRY_ADD_TO_DEFAULT( coreSuiteName() );
+CPPUNIT_REGISTRY_ADD_TO_DEFAULT( extensionSuiteName() );
+CPPUNIT_REGISTRY_ADD_TO_DEFAULT( helperSuiteName() );
+CPPUNIT_REGISTRY_ADD_TO_DEFAULT( outputSuiteName() );
+CPPUNIT_REGISTRY_ADD_TO_DEFAULT( toolsSuiteName() );
+CPPUNIT_REGISTRY_ADD_TO_DEFAULT( unitTestToolSuiteName() );

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,95 @@
+#include "CoreSuite.h"
+#include "ExceptionTest.h"
+#include <cppunit/Exception.h>
+#include <memory>
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( ExceptionTest,
+                                       coreSuiteName() );
+
+
+ExceptionTest::ExceptionTest()
+{
+}
+
+
+ExceptionTest::~ExceptionTest()
+{
+}
+
+
+void 
+ExceptionTest::setUp()
+{
+}
+
+
+void 
+ExceptionTest::tearDown()
+{
+}
+
+
+void 
+ExceptionTest::testConstructor()
+{
+  const CPPUNIT_NS::Message message( "a message" );
+  const CPPUNIT_NS::SourceLine sourceLine( "dir/afile.cpp", 17 );
+  
+  CPPUNIT_NS::Exception e( message, sourceLine );
+
+  CPPUNIT_ASSERT_EQUAL( message.shortDescription(), e.message().shortDescription() );
+  CPPUNIT_ASSERT( sourceLine == e.sourceLine() );
+}
+
+
+void 
+ExceptionTest::testDefaultConstructor()
+{
+  CPPUNIT_NS::Exception e;
+
+  CPPUNIT_ASSERT( CPPUNIT_NS::Message() == e.message() );
+  CPPUNIT_ASSERT( !e.sourceLine().isValid() );
+}
+
+
+void 
+ExceptionTest::testCopyConstructor()
+{
+  CPPUNIT_NS::SourceLine sourceLine( "fileName.cpp", 123 );
+  CPPUNIT_NS::Exception e( CPPUNIT_NS::Message("message"), sourceLine  );
+  CPPUNIT_NS::Exception other( e );
+  checkIsSame( e, other );
+}
+
+
+void 
+ExceptionTest::testAssignment()
+{
+  CPPUNIT_NS::SourceLine sourceLine( "fileName.cpp", 123 );
+  CPPUNIT_NS::Exception e( CPPUNIT_NS::Message("message"), sourceLine  );
+  CPPUNIT_NS::Exception other;
+  other = e;
+  checkIsSame( e, other );
+}
+
+
+void 
+ExceptionTest::testClone()
+{
+  CPPUNIT_NS::SourceLine sourceLine( "fileName.cpp", 123 );
+  CPPUNIT_NS::Exception e( CPPUNIT_NS::Message("message"), sourceLine  );
+  std::auto_ptr<CPPUNIT_NS::Exception> other( e.clone() );
+  checkIsSame( e, *other.get() );
+}
+
+
+void 
+ExceptionTest::checkIsSame( CPPUNIT_NS::Exception &e, 
+                            CPPUNIT_NS::Exception &other )
+{
+  std::string eWhat( e.what() );
+  std::string otherWhat( other.what() );
+  CPPUNIT_ASSERT_EQUAL( eWhat, otherWhat );
+  CPPUNIT_ASSERT( e.sourceLine() == other.sourceLine() );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,41 @@
+#ifndef EXCEPTIONTEST_H
+#define EXCEPTIONTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+
+
+class ExceptionTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( ExceptionTest );
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testDefaultConstructor );
+  CPPUNIT_TEST( testCopyConstructor );
+  CPPUNIT_TEST( testAssignment );
+  CPPUNIT_TEST( testClone );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  ExceptionTest();
+  virtual ~ExceptionTest();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  void testConstructor();
+  void testDefaultConstructor();
+  void testCopyConstructor();
+  void testAssignment();
+  void testClone();
+
+private:
+  ExceptionTest( const ExceptionTest &copy );
+  void operator =( const ExceptionTest &copy );
+  void checkIsSame( CPPUNIT_NS::Exception &e, 
+                    CPPUNIT_NS::Exception &other );
+
+private:
+};
+
+
+
+#endif  // EXCEPTIONTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTestCaseDecoratorTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTestCaseDecoratorTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTestCaseDecoratorTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,71 @@
+// //////////////////////////////////////////////////////////////////////////
+// Implementation file ExceptionTestCaseDecoratorTest.cpp for class ExceptionTestCaseDecoratorTest
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/08/03
+// //////////////////////////////////////////////////////////////////////////
+
+#include "ExtensionSuite.h"
+#include "ExceptionTestCaseDecoratorTest.h"
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( ExceptionTestCaseDecoratorTest,
+                                       extensionSuiteName() );
+
+
+ExceptionTestCaseDecoratorTest::ExceptionTestCaseDecoratorTest()
+{
+}
+
+
+ExceptionTestCaseDecoratorTest::~ExceptionTestCaseDecoratorTest()
+{
+}
+
+
+void 
+ExceptionTestCaseDecoratorTest::setUp()
+{
+  m_testListener = new MockTestListener( "mock-testlistener" );
+  m_result = new CPPUNIT_NS::TestResult();
+  m_result->addListener( m_testListener );
+
+  m_test = new MockTestCase( "mock-decorated-testcase" );
+  m_decorator = new FailureExceptionTestCase( m_test );
+}
+
+
+void 
+ExceptionTestCaseDecoratorTest::tearDown()
+{
+  delete m_decorator;
+  delete m_result;
+  delete m_testListener;
+}
+
+
+void 
+ExceptionTestCaseDecoratorTest::testNoExceptionThrownFailed()
+{
+  m_testListener->setExpectedAddFailureCall(1);
+  m_test->setExpectedSetUpCall();
+  m_test->setExpectedRunTestCall();
+  m_test->setExpectedTearDownCall();
+
+  m_decorator->run( m_result );
+
+  m_testListener->verify();
+}
+
+
+void 
+ExceptionTestCaseDecoratorTest::testExceptionThrownPass()
+{
+  m_testListener->setExpectNoFailure();
+  m_test->setExpectedSetUpCall();
+  m_test->setExpectedRunTestCall();
+  m_test->setExpectedTearDownCall();
+  m_test->makeRunTestThrow();
+
+  m_decorator->run( m_result );
+
+  m_testListener->verify();
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTestCaseDecoratorTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTestCaseDecoratorTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExceptionTestCaseDecoratorTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,61 @@
+// //////////////////////////////////////////////////////////////////////////
+// Header file ExceptionTestCaseDecoratorTest.h for class ExceptionTestCaseDecoratorTest
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2002/08/03
+// //////////////////////////////////////////////////////////////////////////
+#ifndef EXCEPTIONTESTCASEDECORATORTEST_H
+#define EXCEPTIONTESTCASEDECORATORTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/TestResult.h>
+#include "FailureException.h"
+#include "MockTestCase.h"
+#include "MockTestListener.h"
+
+
+/// Unit tests for ExceptionTestCaseDecoratorTest
+class ExceptionTestCaseDecoratorTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( ExceptionTestCaseDecoratorTest );
+  CPPUNIT_TEST( testNoExceptionThrownFailed );
+  CPPUNIT_TEST( testExceptionThrownPass );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  /*! Constructs a ExceptionTestCaseDecoratorTest object.
+   */
+  ExceptionTestCaseDecoratorTest();
+
+  /// Destructor.
+  virtual ~ExceptionTestCaseDecoratorTest();
+
+  void setUp();
+  void tearDown();
+
+  void testNoExceptionThrownFailed();
+  void testExceptionThrownPass();
+
+private:
+  /// Prevents the use of the copy constructor.
+  ExceptionTestCaseDecoratorTest( const ExceptionTestCaseDecoratorTest &other );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const ExceptionTestCaseDecoratorTest &other );
+
+private:
+  typedef CPPUNIT_NS::ExceptionTestCaseDecorator<FailureException> FailureExceptionTestCase;
+
+  CPPUNIT_NS::TestResult *m_result;
+  MockTestListener *m_testListener;
+  MockTestCase *m_test;
+  FailureExceptionTestCase *m_decorator;
+};
+
+
+
+// Inlines methods for ExceptionTestCaseDecoratorTest:
+// ---------------------------------------------------
+
+
+
+#endif  // EXCEPTIONTESTCASEDECORATORTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExtensionSuite.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExtensionSuite.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ExtensionSuite.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,12 @@
+#ifndef CPPUNITTEST_EXTENSIONSSUITE_H
+#define CPPUNITTEST_EXTENSIONSSUITE_H
+
+#include <cppunit/Portability.h>
+#include <string>
+
+inline std::string extensionSuiteName()
+{
+  return "Extensions";
+}
+
+#endif // CPPUNITTEST_EXTENSIONSSUITE_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/FailureException.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/FailureException.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/FailureException.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,10 @@
+#ifndef FAILUREEXCEPTION_H
+#define FAILUREEXCEPTION_H
+
+
+class FailureException
+{
+};
+
+
+#endif  // FAILUREEXCEPTION_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/HelperMacrosTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/HelperMacrosTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/HelperMacrosTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,226 @@
+#include "FailureException.h"
+#include "HelperMacrosTest.h"
+#include "HelperSuite.h"
+#include "MockTestCase.h"
+#include "SubclassedTestCase.h"
+#include <cppunit/TestResult.h>
+#include <memory>
+
+/* Note:
+ - no unit test for CPPUNIT_TEST_SUITE_REGISTRATION...
+ */
+
+class FailTestFixture : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( FailTestFixture );
+  CPPUNIT_TEST_FAIL( testFail );
+  CPPUNIT_TEST_SUITE_END();
+public:
+  void testFail()
+  {
+    CPPUNIT_ASSERT_MESSAGE( "Failure", false );
+  }
+};
+
+
+class FailToFailTestFixture : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( FailToFailTestFixture );
+  CPPUNIT_TEST_FAIL( testFailToFail );
+  CPPUNIT_TEST_SUITE_END();
+public:
+  void testFailToFail()
+  {
+  }
+};
+
+
+class ExceptionTestFixture : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( ExceptionTestFixture );
+  CPPUNIT_TEST_EXCEPTION( testException, FailureException );
+  CPPUNIT_TEST_SUITE_END();
+public:
+  void testException()
+  {
+    throw FailureException();
+  }
+};
+
+
+class ExceptionNotCaughtTestFixture : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( ExceptionNotCaughtTestFixture );
+  CPPUNIT_TEST_EXCEPTION( testExceptionNotCaught, FailureException );
+  CPPUNIT_TEST_SUITE_END();
+public:
+  void testExceptionNotCaught()
+  {
+  }
+};
+
+
+class CustomsTestTestFixture : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( CustomsTestTestFixture );
+  CPPUNIT_TEST_SUITE_ADD_CUSTOM_TESTS( addCustomTests );
+  CPPUNIT_TEST_SUITE_END();
+public:
+  static void addCustomTests( TestSuiteBuilderContextType &context )
+  {
+    MockTestCase *test1 = new MockTestCase( context.getTestNameFor( "myCustomTest1" ) );
+    test1->makeRunTestThrow();
+    MockTestCase *test2 = new MockTestCase( context.getTestNameFor( "myCustomTest2" ) );
+    context.addTest( test1 );
+    context.addTest( test2 );
+  }
+};
+
+
+#undef TEST_ADD_N_MOCK
+#define TEST_ADD_N_MOCK( totalCount )                                              \
+  {                                                                 \
+    for ( int count = (totalCount); count > 0; --count )            \
+      CPPUNIT_TEST_SUITE_ADD_TEST(                                  \
+         new MockTestCase( context.getTestNameFor( "dummyName" ) ) ); \
+  }
+
+
+
+class AddTestTestFixture : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( AddTestTestFixture );
+  TEST_ADD_N_MOCK( 7 );
+  CPPUNIT_TEST_SUITE_END();
+public:
+};
+
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( HelperMacrosTest, 
+                                       helperSuiteName() );
+
+
+HelperMacrosTest::HelperMacrosTest()
+{
+}
+
+
+HelperMacrosTest::~HelperMacrosTest()
+{
+}
+
+
+void 
+HelperMacrosTest::setUp()
+{
+  m_testListener = new MockTestListener( "mock-testlistener" );
+  m_result = new CPPUNIT_NS::TestResult();
+  m_result->addListener( m_testListener );
+}
+
+
+void 
+HelperMacrosTest::tearDown()
+{
+  delete m_result;
+  delete m_testListener;
+}
+
+
+void 
+HelperMacrosTest::testNoSubclassing()
+{
+  std::auto_ptr<CPPUNIT_NS::TestSuite> suite( BaseTestCase::suite() );
+  CPPUNIT_ASSERT_EQUAL( 1, suite->countTestCases() );
+  m_testListener->setExpectedStartTestCall( 1 );
+  m_testListener->setExpectNoFailure();
+
+  suite->run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+HelperMacrosTest::testSubclassing()
+{
+  std::auto_ptr<CPPUNIT_NS::TestSuite> suite( SubclassedTestCase::suite() );
+  CPPUNIT_ASSERT_EQUAL( 2, suite->countTestCases() );
+  m_testListener->setExpectedStartTestCall( 2 );
+  m_testListener->setExpectedAddFailureCall( 1 );
+
+  suite->run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+HelperMacrosTest::testFail()
+{
+  std::auto_ptr<CPPUNIT_NS::TestSuite> suite( FailTestFixture::suite() );
+  m_testListener->setExpectedStartTestCall( 1 );
+  m_testListener->setExpectNoFailure();
+
+  suite->run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+HelperMacrosTest::testFailToFail()
+{
+  std::auto_ptr<CPPUNIT_NS::TestSuite> suite( FailToFailTestFixture::suite() );
+  m_testListener->setExpectedStartTestCall( 1 );
+  m_testListener->setExpectedAddFailureCall( 1 );
+
+  suite->run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+HelperMacrosTest::testException()
+{
+  std::auto_ptr<CPPUNIT_NS::TestSuite> suite( ExceptionTestFixture::suite() );
+  m_testListener->setExpectedStartTestCall( 1 );
+  m_testListener->setExpectNoFailure();
+  
+  suite->run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+HelperMacrosTest::testExceptionNotCaught()
+{
+  std::auto_ptr<CPPUNIT_NS::TestSuite> suite( ExceptionNotCaughtTestFixture::suite() );
+  m_testListener->setExpectedStartTestCall( 1 );
+  m_testListener->setExpectedAddFailureCall( 1 );
+
+  suite->run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+HelperMacrosTest::testCustomTests()
+{
+  std::auto_ptr<CPPUNIT_NS::TestSuite> suite( CustomsTestTestFixture::suite() );
+  m_testListener->setExpectedStartTestCall( 2 );
+  m_testListener->setExpectedAddFailureCall( 1 );
+
+  suite->run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+HelperMacrosTest::testAddTest()
+{
+  std::auto_ptr<CPPUNIT_NS::TestSuite> suite( AddTestTestFixture::suite() );
+  m_testListener->setExpectedStartTestCall( 7 );
+  m_testListener->setExpectedAddFailureCall( 0 );
+
+  suite->run( m_result );
+  m_testListener->verify();
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/HelperMacrosTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/HelperMacrosTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/HelperMacrosTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,53 @@
+#ifndef HELPERMACROSTEST_H
+#define HELPERMACROSTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include "MockTestListener.h"
+
+
+class HelperMacrosTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( HelperMacrosTest );
+  CPPUNIT_TEST( testNoSubclassing );
+  CPPUNIT_TEST( testSubclassing );
+  CPPUNIT_TEST( testFail );
+  CPPUNIT_TEST( testFailToFail );
+  CPPUNIT_TEST( testException );
+  CPPUNIT_TEST( testExceptionNotCaught );
+  CPPUNIT_TEST( testCustomTests );
+  CPPUNIT_TEST( testAddTest );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  HelperMacrosTest();
+  virtual ~HelperMacrosTest();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  void testNoSubclassing();
+
+  void testSubclassing();
+
+  void testFail();
+  void testFailToFail();
+
+  void testException();
+  void testExceptionNotCaught();
+
+  void testCustomTest();
+  void testCustomTests();
+  void testAddTest();
+
+private:
+  HelperMacrosTest( const HelperMacrosTest &copy );
+  void operator =( const HelperMacrosTest &copy );
+
+private:
+  CPPUNIT_NS::TestResult *m_result;
+  MockTestListener *m_testListener;
+};
+
+
+
+#endif  // HELPERMACROSTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/HelperSuite.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/HelperSuite.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/HelperSuite.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,13 @@
+#ifndef CPPUNITTEST_HELPERSUITE_H
+#define CPPUNITTEST_HELPERSUITE_H
+
+#include <cppunit/Portability.h>
+#include <string>
+
+inline std::string helperSuiteName()
+{
+  return "Helpers";
+}
+
+
+#endif // CPPUNITTEST_HELPERSUITE_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/Makefile.am
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/Makefile.am	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/Makefile.am	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,81 @@
+EXTRA_DIST = CppUnitTestMain.dsw CppUnitTestMain.dsp CppUnitTestPlugIn.dsp CppUnitTestPlugIn.cpp
+
+TESTS = cppunittestmain
+check_PROGRAMS = $(TESTS)
+
+INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
+
+cppunittestmain_SOURCES = \
+	BaseTestCase.cpp \
+	BaseTestCase.h \
+	CoreSuite.h \
+	CppUnitTestMain.cpp \
+	CppUnitTestSuite.cpp \
+	ExceptionTest.cpp \
+	ExceptionTest.h \
+  ExceptionTestCaseDecoratorTest.h \
+  ExceptionTestCaseDecoratorTest.cpp \
+	ExtensionSuite.h \
+	FailureException.h \
+	HelperMacrosTest.cpp \
+	HelperMacrosTest.h \
+	HelperSuite.h \
+	MessageTest.h \
+	MessageTest.cpp \
+  MockFunctor.h \
+  MockProtector.h \
+	MockTestCase.h \
+	MockTestCase.cpp \
+	MockTestListener.cpp \
+	MockTestListener.h \
+	OrthodoxTest.cpp \
+	OrthodoxTest.h \
+	OutputSuite.h \
+	RepeatedTestTest.cpp \
+	RepeatedTestTest.h \
+  StringToolsTest.h \
+  StringToolsTest.cpp \
+	SubclassedTestCase.cpp \
+	SubclassedTestCase.h \
+	SynchronizedTestResult.h \
+	TestAssertTest.cpp \
+	TestAssertTest.h \
+	TestCallerTest.cpp \
+	TestCallerTest.h \
+	TestCaseTest.cpp \
+	TestCaseTest.h \
+	TestDecoratorTest.cpp \
+	TestDecoratorTest.h \
+	TestFailureTest.cpp \
+	TestFailureTest.h \
+	TestPathTest.h \
+	TestPathTest.cpp \
+	TestResultCollectorTest.cpp \
+	TestResultCollectorTest.h \
+	TestResultTest.cpp \
+	TestResultTest.h \
+	TestSetUpTest.cpp \
+	TestSetUpTest.h \
+	TestSuiteTest.cpp \
+	TestSuiteTest.h \
+	TestTest.cpp \
+	TestTest.h \
+  ToolsSuite.h \
+	TrackedTestCase.cpp \
+	TrackedTestCase.h \
+	UnitTestToolSuite.h \
+	XmlElementTest.h \
+	XmlElementTest.cpp \
+	XmlOutputterTest.h \
+	XmlOutputterTest.cpp \
+	XmlUniformiser.h \
+	XmlUniformiser.cpp \
+	XmlUniformiserTest.h \
+	XmlUniformiserTest.cpp
+
+cppunittestmain_LDADD= \
+  $(top_builddir)/src/cppunit/libcppunit.la 
+
+cppunittestmain_LDFLAGS = $(LIBADD_DL)
+
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/Makefile.in
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/Makefile.in	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/Makefile.in	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,658 @@
+# Makefile.in generated by automake 1.7.5 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPUNIT_BINARY_AGE = @CPPUNIT_BINARY_AGE@
+CPPUNIT_INTERFACE_AGE = @CPPUNIT_INTERFACE_AGE@
+CPPUNIT_MAJOR_VERSION = @CPPUNIT_MAJOR_VERSION@
+CPPUNIT_MICRO_VERSION = @CPPUNIT_MICRO_VERSION@
+CPPUNIT_MINOR_VERSION = @CPPUNIT_MINOR_VERSION@
+CPPUNIT_VERSION = @CPPUNIT_VERSION@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOC_FALSE = @DOC_FALSE@
+DOC_TRUE = @DOC_TRUE@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBADD_DL = @LIBADD_DL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+enable_dot = @enable_dot@
+enable_html_docs = @enable_html_docs@
+enable_latex_docs = @enable_latex_docs@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+EXTRA_DIST = CppUnitTestMain.dsw CppUnitTestMain.dsp CppUnitTestPlugIn.dsp CppUnitTestPlugIn.cpp
+
+TESTS = cppunittestmain
+check_PROGRAMS = $(TESTS)
+
+INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
+
+cppunittestmain_SOURCES = \
+	BaseTestCase.cpp \
+	BaseTestCase.h \
+	CoreSuite.h \
+	CppUnitTestMain.cpp \
+	CppUnitTestSuite.cpp \
+	ExceptionTest.cpp \
+	ExceptionTest.h \
+  ExceptionTestCaseDecoratorTest.h \
+  ExceptionTestCaseDecoratorTest.cpp \
+	ExtensionSuite.h \
+	FailureException.h \
+	HelperMacrosTest.cpp \
+	HelperMacrosTest.h \
+	HelperSuite.h \
+	MessageTest.h \
+	MessageTest.cpp \
+  MockFunctor.h \
+  MockProtector.h \
+	MockTestCase.h \
+	MockTestCase.cpp \
+	MockTestListener.cpp \
+	MockTestListener.h \
+	OrthodoxTest.cpp \
+	OrthodoxTest.h \
+	OutputSuite.h \
+	RepeatedTestTest.cpp \
+	RepeatedTestTest.h \
+  StringToolsTest.h \
+  StringToolsTest.cpp \
+	SubclassedTestCase.cpp \
+	SubclassedTestCase.h \
+	SynchronizedTestResult.h \
+	TestAssertTest.cpp \
+	TestAssertTest.h \
+	TestCallerTest.cpp \
+	TestCallerTest.h \
+	TestCaseTest.cpp \
+	TestCaseTest.h \
+	TestDecoratorTest.cpp \
+	TestDecoratorTest.h \
+	TestFailureTest.cpp \
+	TestFailureTest.h \
+	TestPathTest.h \
+	TestPathTest.cpp \
+	TestResultCollectorTest.cpp \
+	TestResultCollectorTest.h \
+	TestResultTest.cpp \
+	TestResultTest.h \
+	TestSetUpTest.cpp \
+	TestSetUpTest.h \
+	TestSuiteTest.cpp \
+	TestSuiteTest.h \
+	TestTest.cpp \
+	TestTest.h \
+  ToolsSuite.h \
+	TrackedTestCase.cpp \
+	TrackedTestCase.h \
+	UnitTestToolSuite.h \
+	XmlElementTest.h \
+	XmlElementTest.cpp \
+	XmlOutputterTest.h \
+	XmlOutputterTest.cpp \
+	XmlUniformiser.h \
+	XmlUniformiser.cpp \
+	XmlUniformiserTest.h \
+	XmlUniformiserTest.cpp
+
+
+cppunittestmain_LDADD = \
+  $(top_builddir)/src/cppunit/libcppunit.la 
+
+
+cppunittestmain_LDFLAGS = $(LIBADD_DL)
+subdir = examples/cppunittest
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config/config.h
+CONFIG_CLEAN_FILES =
+check_PROGRAMS = cppunittestmain$(EXEEXT)
+am_cppunittestmain_OBJECTS = BaseTestCase.$(OBJEXT) \
+	CppUnitTestMain.$(OBJEXT) CppUnitTestSuite.$(OBJEXT) \
+	ExceptionTest.$(OBJEXT) \
+	ExceptionTestCaseDecoratorTest.$(OBJEXT) \
+	HelperMacrosTest.$(OBJEXT) MessageTest.$(OBJEXT) \
+	MockTestCase.$(OBJEXT) MockTestListener.$(OBJEXT) \
+	OrthodoxTest.$(OBJEXT) RepeatedTestTest.$(OBJEXT) \
+	StringToolsTest.$(OBJEXT) SubclassedTestCase.$(OBJEXT) \
+	TestAssertTest.$(OBJEXT) TestCallerTest.$(OBJEXT) \
+	TestCaseTest.$(OBJEXT) TestDecoratorTest.$(OBJEXT) \
+	TestFailureTest.$(OBJEXT) TestPathTest.$(OBJEXT) \
+	TestResultCollectorTest.$(OBJEXT) TestResultTest.$(OBJEXT) \
+	TestSetUpTest.$(OBJEXT) TestSuiteTest.$(OBJEXT) \
+	TestTest.$(OBJEXT) TrackedTestCase.$(OBJEXT) \
+	XmlElementTest.$(OBJEXT) XmlOutputterTest.$(OBJEXT) \
+	XmlUniformiser.$(OBJEXT) XmlUniformiserTest.$(OBJEXT)
+cppunittestmain_OBJECTS = $(am_cppunittestmain_OBJECTS)
+cppunittestmain_DEPENDENCIES = $(top_builddir)/src/cppunit/libcppunit.la
+
+DEFAULT_INCLUDES =  -I. -I$(srcdir) -I$(top_builddir)/config
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+ at AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/BaseTestCase.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/CppUnitTestMain.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/CppUnitTestSuite.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/ExceptionTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/ExceptionTestCaseDecoratorTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/HelperMacrosTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/MessageTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/MockTestCase.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/MockTestListener.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/OrthodoxTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/RepeatedTestTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/StringToolsTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/SubclassedTestCase.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/TestAssertTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/TestCallerTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/TestCaseTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/TestDecoratorTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/TestFailureTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/TestPathTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/TestResultCollectorTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/TestResultTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/TestSetUpTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/TestSuiteTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/TestTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/TrackedTestCase.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/XmlElementTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/XmlOutputterTest.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/XmlUniformiser.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/XmlUniformiserTest.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
+	$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(cppunittestmain_SOURCES)
+DIST_COMMON = Makefile.am Makefile.in
+SOURCES = $(cppunittestmain_SOURCES)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  examples/cppunittest/Makefile
+Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+clean-checkPROGRAMS:
+	@list='$(check_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+cppunittestmain$(EXEEXT): $(cppunittestmain_OBJECTS) $(cppunittestmain_DEPENDENCIES) 
+	@rm -f cppunittestmain$(EXEEXT)
+	$(CXXLINK) $(cppunittestmain_LDFLAGS) $(cppunittestmain_OBJECTS) $(cppunittestmain_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/BaseTestCase.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CppUnitTestMain.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CppUnitTestSuite.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ExceptionTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ExceptionTestCaseDecoratorTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/HelperMacrosTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MessageTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MockTestCase.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MockTestListener.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/OrthodoxTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RepeatedTestTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/StringToolsTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SubclassedTestCase.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestAssertTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestCallerTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestCaseTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestDecoratorTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestFailureTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestPathTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestResultCollectorTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestResultTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestSetUpTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestSuiteTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TestTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TrackedTestCase.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/XmlElementTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/XmlOutputterTest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/XmlUniformiser.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/XmlUniformiserTest.Po at am__quote@
+
+distclean-depend:
+	-rm -rf ./$(DEPDIR)
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(ETAGS_ARGS)$$tags$$unique" \
+	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	     $$tags $$unique
+
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list='$(TESTS)'; \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *" $$tst "*) \
+	        xpass=`expr $$xpass + 1`; \
+	        failed=`expr $$failed + 1`; \
+	        echo "XPASS: $$tst"; \
+	      ;; \
+	      *) \
+	        echo "PASS: $$tst"; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *" $$tst "*) \
+	        xfail=`expr $$xfail + 1`; \
+	        echo "XFAIL: $$tst"; \
+	      ;; \
+	      *) \
+	        failed=`expr $$failed + 1`; \
+	        echo "FAIL: $$tst"; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      echo "SKIP: $$tst"; \
+	    fi; \
+	  done; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="All $$all tests passed"; \
+	    else \
+	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all tests failed"; \
+	    else \
+	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	    fi; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    skipped="($$skip tests were not run)"; \
+	    test `echo "$$skipped" | wc -c` -gt `echo "$$banner" | wc -c` && \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -gt `echo "$$banner" | wc -c` && \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  echo "$$dashes"; \
+	  echo "$$banner"; \
+	  test -n "$$skipped" && echo "$$skipped"; \
+	  test -n "$$report" && echo "$$report"; \
+	  echo "$$dashes"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkinstalldirs) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-compile distclean-depend \
+	distclean-generic distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+	clean-checkPROGRAMS clean-generic clean-libtool ctags distclean \
+	distclean-compile distclean-depend distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am info \
+	info-am install install-am install-data install-data-am \
+	install-exec install-exec-am install-info install-info-am \
+	install-man install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MessageTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MessageTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MessageTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,234 @@
+#include "CoreSuite.h"
+#include "MessageTest.h"
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( MessageTest,
+                                       coreSuiteName() );
+
+
+MessageTest::MessageTest()
+{
+}
+
+
+MessageTest::~MessageTest()
+{
+}
+
+
+void 
+MessageTest::setUp()
+{
+  m_message = new CPPUNIT_NS::Message();
+}
+
+
+void 
+MessageTest::tearDown()
+{
+  delete m_message;
+}
+
+
+void 
+MessageTest::testDefaultConstructor()
+{
+  std::string empty;
+  CPPUNIT_ASSERT_EQUAL( empty, m_message->shortDescription() );
+  CPPUNIT_ASSERT_EQUAL( 0, m_message->detailCount() );
+}
+
+
+void 
+MessageTest::testDetailAtThrowIfBadIndex()
+{
+  m_message->detailAt( -1 );
+}
+
+
+
+void 
+MessageTest::testDetailAtThrowIfBadIndex2()
+{
+  m_message->detailAt( 0 );
+}
+
+
+void 
+MessageTest::testAddDetail()
+{
+  std::string expected( "first" );
+  m_message->addDetail( expected );
+  CPPUNIT_ASSERT_EQUAL( 1, m_message->detailCount() );
+  CPPUNIT_ASSERT_EQUAL( expected, m_message->detailAt(0) );
+}
+
+
+void 
+MessageTest::testAddDetail2()
+{
+  std::string expected1( "first" );
+  std::string expected2( "second" );
+  m_message->addDetail( expected1, expected2 );
+  CPPUNIT_ASSERT_EQUAL( 2, m_message->detailCount() );
+  CPPUNIT_ASSERT_EQUAL( expected1, m_message->detailAt(0) );
+  CPPUNIT_ASSERT_EQUAL( expected2, m_message->detailAt(1) );
+}
+
+
+void 
+MessageTest::testAddDetail3()
+{
+  std::string expected1( "first" );
+  std::string expected2( "second" );
+  std::string expected3( "third" );
+  m_message->addDetail( expected1, expected2, expected3 );
+  CPPUNIT_ASSERT_EQUAL( 3, m_message->detailCount() );
+  CPPUNIT_ASSERT_EQUAL( expected1, m_message->detailAt(0) );
+  CPPUNIT_ASSERT_EQUAL( expected2, m_message->detailAt(1) );
+  CPPUNIT_ASSERT_EQUAL( expected3, m_message->detailAt(2) );
+}
+
+
+void 
+MessageTest::testAddDetailEmptyMessage()
+{
+  m_message->addDetail( CPPUNIT_NS::Message() );
+  CPPUNIT_ASSERT_EQUAL( 0, m_message->detailCount() );
+}
+
+
+void 
+MessageTest::testAddDetailMessage()
+{
+  std::string expected1( "first" );
+  std::string expected2( "second" );
+  m_message->addDetail( CPPUNIT_NS::Message( "shortDesc", expected1, expected2 ) );
+  CPPUNIT_ASSERT_EQUAL( 2, m_message->detailCount() );
+  CPPUNIT_ASSERT_EQUAL( expected1, m_message->detailAt(0) );
+  CPPUNIT_ASSERT_EQUAL( expected2, m_message->detailAt(1) );
+}
+
+
+void 
+MessageTest::testSetShortDescription()
+{
+  std::string expected( "shortDesc" );
+  m_message->setShortDescription( expected );
+  CPPUNIT_ASSERT_EQUAL( expected, m_message->shortDescription() );
+}
+
+
+void 
+MessageTest::testClearDetails()
+{
+  m_message->addDetail( "detail1" );
+  m_message->clearDetails();
+  CPPUNIT_ASSERT_EQUAL( 0, m_message->detailCount() );
+}
+
+
+void 
+MessageTest::testConstructor()
+{
+  std::string expected( "short" );
+  CPPUNIT_NS::Message message( expected );
+  
+  CPPUNIT_ASSERT_EQUAL( expected, message.shortDescription() );
+  CPPUNIT_ASSERT_EQUAL( 0, message.detailCount() );
+}
+
+
+void 
+MessageTest::testConstructorDetail1()
+{
+  std::string expected( "short" );
+  std::string expected1( "detail-1" );
+  CPPUNIT_NS::Message message( expected, expected1 );
+  
+  CPPUNIT_ASSERT_EQUAL( expected, message.shortDescription() );
+  CPPUNIT_ASSERT_EQUAL( 1, message.detailCount() );
+  CPPUNIT_ASSERT_EQUAL( expected1, message.detailAt(0) );
+}
+
+
+void 
+MessageTest::testConstructorDetail2()
+{
+  std::string expected( "short" );
+  std::string expected1( "detail-1" );
+  std::string expected2( "detail-2" );
+  CPPUNIT_NS::Message message( expected, expected1, expected2 );
+  
+  CPPUNIT_ASSERT_EQUAL( expected, message.shortDescription() );
+  CPPUNIT_ASSERT_EQUAL( 2, message.detailCount() );
+  CPPUNIT_ASSERT_EQUAL( expected1, message.detailAt(0) );
+  CPPUNIT_ASSERT_EQUAL( expected2, message.detailAt(1) );
+}
+
+
+void 
+MessageTest::testConstructorDetail3()
+{
+  std::string expected( "short" );
+  std::string expected1( "detail-1" );
+  std::string expected2( "detail-2" );
+  std::string expected3( "detail-3" );
+  CPPUNIT_NS::Message message( expected, expected1, expected2, expected3 );
+  
+  CPPUNIT_ASSERT_EQUAL( expected, message.shortDescription() );
+  CPPUNIT_ASSERT_EQUAL( 3, message.detailCount() );
+  CPPUNIT_ASSERT_EQUAL( expected1, message.detailAt(0) );
+  CPPUNIT_ASSERT_EQUAL( expected2, message.detailAt(1) );
+  CPPUNIT_ASSERT_EQUAL( expected3, message.detailAt(2) );
+}
+
+
+void 
+MessageTest::testDetailsNone()
+{
+  CPPUNIT_ASSERT_MESSAGE("012345678901234",true);
+  std::string empty;
+  CPPUNIT_ASSERT_EQUAL( empty, m_message->details() );
+}
+
+
+void 
+MessageTest::testDetailsSome()
+{
+  m_message->addDetail( "Expected: 1", "Actual:   7", "Info: number" );
+  std::string expected( "- Expected: 1\n- Actual:   7\n- Info: number\n" );
+  std::string actual = m_message->details();
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+MessageTest::testEqual()
+{
+  CPPUNIT_ASSERT( *m_message == CPPUNIT_NS::Message() );
+  
+  CPPUNIT_NS::Message message1( "short", "det1", "det2", "det3" );
+  CPPUNIT_NS::Message message2( message1 );
+  CPPUNIT_ASSERT( message1 == message2 );
+
+  CPPUNIT_ASSERT( !(*m_message == message1) );
+
+  CPPUNIT_NS::Message message3( "short" );
+  CPPUNIT_ASSERT( !(message3 == message1) );
+
+  CPPUNIT_NS::Message message4( "long" );
+  CPPUNIT_ASSERT( !(message3 == message4) );
+
+  CPPUNIT_NS::Message message5( "short", "det1", "det-2", "det3" );
+  CPPUNIT_ASSERT( !(message1 == message5) );
+}
+
+
+void 
+MessageTest::testNotEqual()
+{
+  CPPUNIT_NS::Message message1( "short", "det1", "det2", "det3" );
+  CPPUNIT_NS::Message message2( "short", "det1", "det-2", "det3" );
+  CPPUNIT_ASSERT( message1 != message2 );
+  CPPUNIT_ASSERT( !(message1 != message1) );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MessageTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MessageTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MessageTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,76 @@
+#ifndef MESSAGETEST_H
+#define MESSAGETEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/Message.h>
+#include <stdexcept>
+
+
+/// Unit tests for MessageTest
+class MessageTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( MessageTest );
+  CPPUNIT_TEST( testDefaultConstructor );
+  CPPUNIT_TEST_EXCEPTION( testDetailAtThrowIfBadIndex, std::invalid_argument );
+  CPPUNIT_TEST_EXCEPTION( testDetailAtThrowIfBadIndex2, std::invalid_argument );
+  CPPUNIT_TEST( testAddDetail );
+  CPPUNIT_TEST( testAddDetail2 );
+  CPPUNIT_TEST( testAddDetail3 );
+  CPPUNIT_TEST( testAddDetailEmptyMessage );
+  CPPUNIT_TEST( testAddDetailMessage );
+  CPPUNIT_TEST( testSetShortDescription );
+  CPPUNIT_TEST( testClearDetails );
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testConstructorDetail1 );
+  CPPUNIT_TEST( testConstructorDetail2 );
+  CPPUNIT_TEST( testConstructorDetail3 );
+  CPPUNIT_TEST( testDetailsNone );
+  CPPUNIT_TEST( testDetailsSome );
+  CPPUNIT_TEST( testEqual );
+  CPPUNIT_TEST( testNotEqual );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  MessageTest();
+
+  virtual ~MessageTest();
+
+  void setUp();
+  void tearDown();
+
+  void testDefaultConstructor();
+  void testDetailAtThrowIfBadIndex();
+  void testDetailAtThrowIfBadIndex2();
+  void testAddDetail();
+  void testAddDetail2();
+  void testAddDetail3();
+  void testAddDetailEmptyMessage();
+  void testAddDetailMessage();
+  void testSetShortDescription();
+  void testClearDetails();
+
+  void testConstructor();
+  void testConstructorDetail1();
+  void testConstructorDetail2();
+  void testConstructorDetail3();
+
+  void testDetailsNone();
+  void testDetailsSome();
+
+  void testEqual();
+  void testNotEqual();
+
+private:
+  /// Prevents the use of the copy constructor.
+  MessageTest( const MessageTest &other );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const MessageTest &other );
+
+private:
+  CPPUNIT_NS::Message *m_message;
+};
+
+
+
+#endif  // MESSAGETEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockFunctor.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockFunctor.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockFunctor.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,90 @@
+#ifndef MOCKFUNCTOR_H
+#define MOCKFUNCTOR_H
+
+#include <cppunit/TestAssert.h>
+#include <cppunit/Protector.h>
+#include "FailureException.h"
+#include "MockProtector.h"
+
+
+class MockFunctor : public CPPUNIT_NS::Functor
+{
+public:
+  MockFunctor()
+    : m_shouldThrow( false )
+    , m_shouldThrowFailureException( false )
+    , m_hasExpectation( false )
+    , m_actualCallCount( 0 )
+    , m_expectedCallCount( 0 )
+    , m_shouldSucceed( true )
+  {
+  }
+
+
+  bool operator()() const
+  {
+    ++CPPUNIT_CONST_CAST(MockFunctor *,this)->m_actualCallCount;
+
+    if ( m_shouldThrow )
+    {
+      if ( m_shouldThrowFailureException )
+        throw FailureException();
+      throw MockProtectorException();
+    }
+
+    return m_shouldSucceed;
+  }
+
+  void setThrowFailureException()
+  {
+    m_shouldThrow = true;
+    m_shouldThrowFailureException = true;
+    ++m_expectedCallCount;
+    m_hasExpectation = true;
+  }
+
+  void setThrowMockProtectorException()
+  {
+    m_shouldThrow = true;
+    m_shouldThrowFailureException = false;
+    ++m_expectedCallCount;
+    m_hasExpectation = true;
+  }
+
+  void setShouldFail()
+  {
+    m_shouldSucceed = false;
+  }
+
+  void setShouldSucceed()
+  {
+    m_shouldSucceed = true;
+  }
+
+  void setExpectedCallCount( int callCount =1 )
+  {
+    m_expectedCallCount = callCount;
+    m_hasExpectation = true;
+  }
+
+  void verify()
+  {
+    if ( m_hasExpectation )
+    {
+      CPPUNIT_ASSERT_EQUAL_MESSAGE( "MockFunctor: bad call count",
+                                    m_expectedCallCount,
+                                    m_actualCallCount );
+    }
+  }
+
+private:
+  bool m_shouldSucceed;
+  bool m_shouldThrow;
+  bool m_shouldThrowFailureException;
+  bool m_hasExpectation;
+  int m_actualCallCount;
+  int m_expectedCallCount;
+};
+
+
+#endif // MOCKFUNCTOR_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockProtector.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockProtector.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockProtector.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,96 @@
+#ifndef MOCKPROTECTOR_H
+#define MOCKPROTECTOR_H
+
+#include <stdexcept>
+#include <cppunit/Protector.h>
+
+
+class MockProtectorException : public std::runtime_error
+{
+public:
+  MockProtectorException() 
+    : std::runtime_error( "MockProtectorException" )
+  {
+  }
+};
+
+
+class MockProtector : public CPPUNIT_NS::Protector
+{
+public:
+  MockProtector()
+    : m_expectException( false )
+    , m_hasExpectation( false )
+    , m_wasCalled( false )
+    , m_wasTrapped( false )
+    , m_shouldPropagateException( false )
+  {
+  }
+
+  bool protect( const CPPUNIT_NS::Functor &functor,
+                const CPPUNIT_NS::ProtectorContext &context )
+  {
+    try
+    {
+      m_wasCalled = true;
+      return functor();
+    }
+    catch ( MockProtectorException & )
+    {
+      m_wasTrapped = true;
+
+      if ( m_shouldPropagateException )
+        throw;
+
+      reportError( context, CPPUNIT_NS::Message("MockProtector trap") );
+    }
+
+    return false;
+  }
+
+  void setExpectException()
+  {
+    m_expectException = true;
+    m_hasExpectation = true;
+  }
+
+  void setExpectNoException()
+  {
+    m_expectException = false;
+    m_hasExpectation = true;
+  }
+
+  void setExpectCatchAndPropagateException()
+  {
+    setExpectException();
+    m_shouldPropagateException = true;
+  }
+
+  void verify()
+  {
+    if ( m_hasExpectation )
+    {
+      CPPUNIT_ASSERT_MESSAGE( "MockProtector::protect() was not called",
+                              m_wasCalled );
+
+      std::string message;
+      if ( m_expectException )
+        message = "did not catch the exception.";
+      else
+        message = "caught an unexpected exception.";
+      CPPUNIT_ASSERT_EQUAL_MESSAGE( "MockProtector::protect() " + message,
+                                    m_expectException,
+                                    m_wasTrapped );
+    }
+  }
+
+private:
+  bool m_wasCalled;
+  bool m_wasTrapped;
+  bool m_expectException;
+  bool m_hasExpectation;
+  bool m_shouldPropagateException;
+};
+
+
+#endif // MOCKPROTECTOR_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestCase.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestCase.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestCase.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,190 @@
+#include "FailureException.h"
+#include "MockTestCase.h"
+#include <cppunit/TestPath.h>
+
+
+MockTestCase::MockTestCase( std::string name )
+    : CPPUNIT_NS::TestCase( name )
+    , m_hasSetUpExpectation( false )
+    , m_expectedSetUpCall( 0 )
+    , m_actualSetUpCall( 0 )
+    , m_hasTearDownExpectation( false )
+    , m_expectedTearDownCall( 0 )
+    , m_actualTearDownCall( 0 )
+    , m_expectRunTestCall( false )
+    , m_expectedRunTestCallCount( 0 )
+    , m_actualRunTestCallCount( 0 )
+    , m_expectCountTestCasesCall( false )
+    , m_expectedCountTestCasesCallCount( 0 )
+    , m_actualCountTestCasesCallCount( 0 )
+    , m_setUpThrow( false )
+    , m_tearDownThrow( false )
+    , m_runTestThrow( false )
+    , m_passingTest( NULL )
+{
+}
+
+
+MockTestCase::~MockTestCase()
+{
+}
+
+
+int 
+MockTestCase::countTestCases() const
+{
+  MockTestCase *mutableThis = CPPUNIT_CONST_CAST(MockTestCase *, this );
+  ++mutableThis->m_actualCountTestCasesCallCount;
+  if ( m_expectCountTestCasesCall )
+  {
+    CPPUNIT_ASSERT_MESSAGE( getName() + ": unexpected MockTestCase::countTestCases() call",
+                            m_actualCountTestCasesCallCount <= m_expectedCountTestCasesCallCount );
+  }
+
+  return SuperClass::countTestCases();
+}
+
+
+void 
+MockTestCase::setUp()
+{
+  if ( m_hasSetUpExpectation )
+  {
+    ++m_actualSetUpCall;
+    CPPUNIT_ASSERT_MESSAGE( getName() + ": unexpected MockTestCase::setUp() call",
+                            m_actualSetUpCall <= m_expectedSetUpCall );
+  }
+
+  if ( m_setUpThrow )
+    throw FailureException();
+}
+
+void 
+MockTestCase::tearDown()
+{
+  if ( m_hasTearDownExpectation )
+  {
+    ++m_actualTearDownCall;
+    CPPUNIT_ASSERT_MESSAGE( getName() + ": unexpected MockTestCase::tearDown() call",
+                            m_actualTearDownCall <= m_expectedTearDownCall );
+  }
+
+  if ( m_tearDownThrow )
+    throw FailureException();
+}
+
+
+void 
+MockTestCase::runTest()
+{
+  ++m_actualRunTestCallCount;
+  if ( m_expectRunTestCall )
+  {
+    CPPUNIT_ASSERT_MESSAGE( getName() + ": unexpected MockTestCase::runTest() call",
+                            m_actualRunTestCallCount <= m_expectedRunTestCallCount );
+  }
+
+  if ( m_runTestThrow )
+    throw FailureException();
+}
+
+/*
+bool 
+MockTestCase::findTestPath( const CPPUNIT_NS::Test *test,
+                            CPPUNIT_NS::TestPath &testPath )
+{
+  if ( m_passingTest == test )
+  {
+    testPath.add( this );
+    return true;
+  }
+
+  return false;
+}
+*/
+
+void 
+MockTestCase::setExpectedSetUpCall( int callCount )
+{
+  m_hasSetUpExpectation = true;
+  m_expectedSetUpCall = callCount;
+}
+
+
+void 
+MockTestCase::setExpectedTearDownCall( int callCount )
+{
+}
+
+
+void 
+MockTestCase::setExpectedRunTestCall( int callCount )
+{
+  m_expectRunTestCall = true;
+  m_expectedRunTestCallCount = callCount ;
+}
+
+
+void 
+MockTestCase::setExpectedCountTestCasesCall( int callCount )
+{
+  m_expectCountTestCasesCall = true;
+  m_expectedCountTestCasesCallCount = callCount;
+}
+
+
+void 
+MockTestCase::makeSetUpThrow()
+{
+  m_setUpThrow = true;
+}
+
+
+void 
+MockTestCase::makeTearDownThrow()
+{
+  m_tearDownThrow = true;
+}
+
+
+void 
+MockTestCase::makeRunTestThrow()
+{
+  m_runTestThrow = true;
+}
+
+
+void 
+MockTestCase::verify()
+{
+  if ( m_hasSetUpExpectation )
+  {
+    CPPUNIT_ASSERT_EQUAL_MESSAGE( getName() + ": bad MockTestCase::setUp() "
+                                  "call count",
+                                  m_expectedSetUpCall,
+                                  m_actualSetUpCall );
+  }
+
+  if ( m_hasTearDownExpectation )
+  {
+    CPPUNIT_ASSERT_EQUAL_MESSAGE( getName() + ": bad MockTestCase::tearDown() "
+                                  "call count",
+                                  m_expectedTearDownCall,
+                                  m_actualTearDownCall );
+  }
+
+  if ( m_expectCountTestCasesCall )
+  {
+    CPPUNIT_ASSERT_EQUAL_MESSAGE( getName() + ": bad MockTestCase::countTestCases() "
+                                  "call count",
+                                  m_expectedCountTestCasesCallCount,
+                                  m_actualCountTestCasesCallCount );
+  }
+  if ( m_expectRunTestCall )
+  {
+    CPPUNIT_ASSERT_EQUAL_MESSAGE( getName() + ": bad MockTestCase::runTest() "
+                                  "call count",
+                                  m_expectedRunTestCallCount,
+                                  m_actualRunTestCallCount );
+  }
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestCase.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestCase.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestCase.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,75 @@
+#ifndef MOCKTESTCASE_H
+#define MOCKTESTCASE_H
+
+#include <cppunit/TestCase.h>
+
+
+/*! \class MockTestCase
+ * \brief This class represents a mock test case.
+ */
+class MockTestCase : public CPPUNIT_NS::TestCase
+{
+public:
+  typedef CPPUNIT_NS::TestCase SuperClass;   // work around VC++ call to super class method.
+
+  /*! Constructs a MockTestCase object.
+   */
+  MockTestCase( std::string name );
+
+  /// Destructor.
+  virtual ~MockTestCase();
+
+  void setExpectedSetUpCall( int callCount = 1 );
+  void setExpectedTearDownCall( int callCount = 1 );
+  void setExpectedRunTestCall( int callCount = 1 );
+  void setExpectedCountTestCasesCall( int callCount = 1 );
+  
+  void makeSetUpThrow();
+  void makeTearDownThrow();
+  void makeRunTestThrow();
+  void makeFindTestPathPassFor( const CPPUNIT_NS::Test *testFound );
+  
+  void verify();
+
+protected:
+  int countTestCases() const;
+  void setUp();
+  void tearDown();
+  void runTest();
+//  bool findTestPath( const CPPUNIT_NS::Test *test,
+//                     CPPUNIT_NS::TestPath &testPath );
+
+private:
+  /// Prevents the use of the copy constructor.
+  MockTestCase( const MockTestCase &copy );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const MockTestCase &copy );
+
+private:
+  bool m_hasSetUpExpectation;
+  int m_expectedSetUpCall;
+  int m_actualSetUpCall;
+
+  bool m_hasTearDownExpectation;
+  int m_expectedTearDownCall;
+  int m_actualTearDownCall;
+
+  bool m_expectRunTestCall;
+  int m_expectedRunTestCallCount;
+  int m_actualRunTestCallCount;
+  bool m_expectCountTestCasesCall;
+  int m_expectedCountTestCasesCallCount;
+  int m_actualCountTestCasesCallCount;
+
+  bool m_setUpThrow;
+  bool m_tearDownThrow;
+  bool m_runTestThrow;
+  const CPPUNIT_NS::Test *m_passingTest;
+};
+
+
+
+
+
+#endif  // MOCKTESTCASE_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestListener.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestListener.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestListener.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,390 @@
+#include <cppunit/TestAssert.h>
+#include <cppunit/TestFailure.h>
+#include "MockTestListener.h"
+
+
+MockTestListener::MockTestListener( std::string name )
+    : m_name( name )
+    , m_hasExpectationForStartTest( false )
+    , m_hasParametersExpectationForStartTest( false )
+    , m_expectedStartTestCallCount( 0 )
+    , m_startTestCall( 0 )
+    , m_hasExpectationForEndTest( false )
+    , m_hasParametersExpectationForEndTest( false )
+    , m_expectedEndTestCallCount( 0 )
+    , m_endTestCall( 0 )
+    , m_hasExpectationForStartSuite( false )
+    , m_hasParametersExpectationForStartSuite( false )
+    , m_expectedStartSuiteCallCount( 0 )
+    , m_startSuiteCall( 0 )
+    , m_hasExpectationForEndSuite( false )
+    , m_hasParametersExpectationForEndSuite( false )
+    , m_expectedEndSuiteCallCount( 0 )
+    , m_endSuiteCall( 0 )
+    , m_hasExpectationForStartTestRun( false )
+    , m_hasParametersExpectationForStartTestRun( false )
+    , m_expectedStartTestRunCallCount( 0 )
+    , m_startTestRunCall( 0 )
+    , m_hasExpectationForEndTestRun( false )
+    , m_hasParametersExpectationForEndTestRun( false )
+    , m_expectedEndTestRunCallCount( 0 )
+    , m_endTestRunCall( 0 )
+    , m_hasExpectationForAddFailure( false )
+    , m_hasExpectationForSomeFailure( false )
+    , m_hasParametersExpectationForAddFailure( false )
+    , m_expectedAddFailureCallCount( 0 )
+    , m_addFailureCall( 0 )
+    , m_expectedFailedTest( NULL )
+    , m_expectedException( NULL )
+    , m_expectedIsError( false )
+{
+}
+
+
+void 
+MockTestListener::setExpectFailure( CPPUNIT_NS::Test *failedTest,
+                                    CPPUNIT_NS::Exception *thrownException,
+                                    bool isError )
+{
+  m_hasExpectationForAddFailure = true;
+  m_hasParametersExpectationForAddFailure = true;
+  m_expectedAddFailureCallCount = 1;
+  m_expectedFailedTest = failedTest;
+  m_expectedException = thrownException;
+  m_expectedIsError = isError;
+}
+
+
+void 
+MockTestListener::setExpectNoFailure()
+{
+  m_hasExpectationForAddFailure = true;
+  m_expectedAddFailureCallCount = 0;
+}
+
+
+void 
+MockTestListener::setExpectFailure()
+{
+  m_hasExpectationForSomeFailure = true;
+}
+
+
+void 
+MockTestListener::setExpectedAddFailureCall( int callCount )
+{
+  m_hasExpectationForAddFailure = true;
+  m_expectedAddFailureCallCount = callCount;
+}
+
+
+void 
+MockTestListener::setExpectStartTest( CPPUNIT_NS::Test *test )
+{
+  m_hasExpectationForStartTest = true;
+  m_hasParametersExpectationForStartTest = true;
+  m_expectedStartTestCallCount = 1;
+  m_expectedStartTest = test;
+}
+
+
+void 
+MockTestListener::setExpectedStartTestCall( int callCount )
+{
+  m_hasExpectationForStartTest = true;
+  m_expectedStartTestCallCount = callCount;
+}
+
+
+void 
+MockTestListener::setExpectEndTest( CPPUNIT_NS::Test *test )
+{
+  m_hasExpectationForEndTest = true;
+  m_hasParametersExpectationForEndTest = true;
+  m_expectedEndTestCallCount = 1;
+  m_expectedEndTest = test;
+}
+
+
+void 
+MockTestListener::setExpectedEndTestCall( int callCount )
+{
+  m_hasExpectationForEndTest = true;
+  m_expectedEndTestCallCount = callCount;
+}
+
+
+void 
+MockTestListener::setExpectStartSuite( CPPUNIT_NS::Test *test )
+{
+  m_hasExpectationForStartSuite = true;
+  m_hasParametersExpectationForStartSuite = true;
+  m_expectedStartSuiteCallCount = 1;
+  m_expectedStartSuite = test;
+}
+
+
+void 
+MockTestListener::setExpectedStartSuiteCall( int callCount )
+{
+  m_hasExpectationForStartSuite = true;
+  m_expectedStartSuiteCallCount = callCount;
+}
+
+
+void 
+MockTestListener::setExpectEndSuite( CPPUNIT_NS::Test *test )
+{
+  m_hasExpectationForEndSuite = true;
+  m_hasParametersExpectationForEndSuite = true;
+  m_expectedEndSuiteCallCount = 1;
+  m_expectedEndSuite = test;
+}
+
+
+void 
+MockTestListener::setExpectedEndSuiteCall( int callCount )
+{
+  m_hasExpectationForEndSuite = true;
+  m_expectedEndSuiteCallCount = callCount;
+}
+
+
+void 
+MockTestListener::setExpectStartTestRun( CPPUNIT_NS::Test *test,
+                                         CPPUNIT_NS::TestResult *eventManager )
+{
+  m_hasExpectationForStartTestRun = true;
+  m_hasParametersExpectationForStartTestRun = true;
+  m_expectedStartTestRunCallCount = 1;
+  m_expectedStartTestRun = test;
+  m_expectedStartTestRun2 = eventManager;
+}
+
+
+void 
+MockTestListener::setExpectedStartTestRunCall( int callCount )
+{
+  m_hasExpectationForStartTestRun = true;
+  m_expectedStartTestRunCallCount = callCount;
+}
+
+
+void 
+MockTestListener::setExpectEndTestRun( CPPUNIT_NS::Test *test,
+                                       CPPUNIT_NS::TestResult *eventManager )
+{
+  m_hasExpectationForEndTestRun = true;
+  m_hasParametersExpectationForEndTestRun = true;
+  m_expectedEndTestRunCallCount = 1;
+  m_expectedEndTestRun = test;
+  m_expectedEndTestRun2 = eventManager;
+}
+
+
+void 
+MockTestListener::setExpectedEndTestRunCall( int callCount )
+{
+  m_hasExpectationForEndTestRun = true;
+  m_expectedEndTestRunCallCount = callCount;
+}
+
+
+void 
+MockTestListener::addFailure( const CPPUNIT_NS::TestFailure &failure )
+{
+  if ( m_hasExpectationForAddFailure  ||  m_hasExpectationForSomeFailure )
+    ++m_addFailureCall;
+
+  if ( m_hasExpectationForAddFailure )
+  {
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
+                            m_addFailureCall <= m_expectedAddFailureCallCount );
+  }
+
+  if ( m_hasParametersExpectationForAddFailure )
+  {
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
+                            m_expectedFailedTest == failure.failedTest() );
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad thrownException",
+                            m_expectedException == failure.thrownException() );
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad isError",
+                            m_expectedIsError == failure.isError() );
+  }
+}
+
+
+void 
+MockTestListener::startTest( CPPUNIT_NS::Test *test )
+{
+  if ( m_hasExpectationForStartTest )
+  {
+    ++m_startTestCall;
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
+                            m_startTestCall <= m_expectedStartTestCallCount );
+  
+  }
+
+  if ( m_hasParametersExpectationForStartTest )
+  {
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
+                            m_expectedStartTest == test );
+  }
+}
+
+
+void 
+MockTestListener::endTest( CPPUNIT_NS::Test *test )
+{
+  if ( m_hasExpectationForEndTest )
+  {
+    ++m_endTestCall;
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
+                            m_endTestCall <= m_expectedEndTestCallCount );
+  }
+
+  if ( m_hasParametersExpectationForEndTest )
+  {
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
+                            m_expectedEndTest == test );
+  }
+}
+
+
+void 
+MockTestListener::startSuite( CPPUNIT_NS::Test *test )
+{
+  if ( m_hasExpectationForStartSuite )
+  {
+    ++m_startSuiteCall;
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
+                            m_startSuiteCall <= m_expectedStartSuiteCallCount );
+  }
+
+  if ( m_hasParametersExpectationForStartSuite )
+  {
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
+                            m_expectedStartSuite == test );
+  }
+}
+
+
+void 
+MockTestListener::endSuite( CPPUNIT_NS::Test *test )
+{
+  if ( m_hasExpectationForEndSuite )
+  {
+    ++m_endSuiteCall;
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
+                            m_endSuiteCall <= m_expectedEndSuiteCallCount );
+  }
+
+  if ( m_hasParametersExpectationForEndSuite )
+  {
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
+                            m_expectedEndSuite == test );
+  }
+}
+
+
+void 
+MockTestListener::startTestRun( CPPUNIT_NS::Test *test, 
+                                CPPUNIT_NS::TestResult *eventManager )
+{
+  if ( m_hasExpectationForStartTestRun )
+  {
+    ++m_startTestRunCall;
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
+                            m_startTestRunCall <= m_expectedStartTestRunCallCount );
+  }
+
+  if ( m_hasParametersExpectationForStartTestRun )
+  {
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
+                            m_expectedStartTestRun == test );
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad eventManager",
+                            m_expectedStartTestRun2 == eventManager );
+  }
+}
+
+
+void 
+MockTestListener::endTestRun( CPPUNIT_NS::Test *test, 
+                              CPPUNIT_NS::TestResult *eventManager )
+{
+  if ( m_hasExpectationForEndTestRun )
+  {
+    ++m_endTestRunCall;
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": unexpected call",
+                            m_endTestRunCall <= m_expectedEndTestRunCallCount );
+  }
+
+  if ( m_hasParametersExpectationForEndTestRun )
+  {
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad test",
+                            m_expectedEndTestRun == test );
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": bad eventManager",
+                            m_expectedEndTestRun2 == eventManager );
+  }
+}
+
+
+void 
+MockTestListener::verify()
+{
+  if ( m_hasExpectationForStartTest )
+  {
+    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing startTest calls",
+                                  m_expectedStartTestCallCount, 
+                                  m_startTestCall );
+  }
+
+  if ( m_hasExpectationForEndTest )
+  {
+    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing endTest calls",
+                                  m_expectedEndTestCallCount, 
+                                  m_endTestCall );
+  }
+
+  if ( m_hasExpectationForStartSuite )
+  {
+    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing startSuite calls",
+                                  m_expectedStartSuiteCallCount, 
+                                  m_startSuiteCall );
+  }
+
+  if ( m_hasExpectationForEndSuite )
+  {
+    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing endSuite calls",
+                                  m_expectedEndSuiteCallCount, 
+                                  m_endSuiteCall );
+  }
+
+  if ( m_hasExpectationForStartTestRun )
+  {
+    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing startTestRun calls",
+                                  m_expectedStartTestRunCallCount, 
+                                  m_startTestRunCall );
+  }
+
+  if ( m_hasExpectationForEndTestRun )
+  {
+    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing endTestRun calls",
+                                  m_expectedEndTestRunCallCount, 
+                                  m_endTestRunCall );
+  }
+
+  if ( m_hasExpectationForAddFailure )
+  {
+    CPPUNIT_ASSERT_EQUAL_MESSAGE( m_name + ": missing addFailure calls",
+                                  m_expectedAddFailureCallCount, 
+                                  m_addFailureCall );
+  }
+
+  if ( m_hasExpectationForSomeFailure )
+  {
+    CPPUNIT_ASSERT_MESSAGE( m_name + ": there was no call to "
+                                "MockTestListener::addFailure()",
+                            m_addFailureCall > 0 );
+  }
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestListener.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestListener.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/MockTestListener.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,105 @@
+#ifndef MOCKTESTLISTENER_H
+#define MOCKTESTLISTENER_H
+
+#include <cppunit/TestListener.h>
+#include <string>
+
+
+class MockTestListener : public CPPUNIT_NS::TestListener
+{
+public:
+  MockTestListener( std::string name );
+  virtual ~MockTestListener() {}
+
+  void setExpectFailure( CPPUNIT_NS::Test *failedTest,
+                         CPPUNIT_NS::Exception *thrownException,
+                         bool isError );
+  void setExpectNoFailure();
+  void setExpectFailure();
+  void setExpectedAddFailureCall( int callCount );
+  void setExpectStartTest( CPPUNIT_NS::Test *test );
+  void setExpectedStartTestCall( int callCount );
+  void setExpectEndTest( CPPUNIT_NS::Test *test );
+  void setExpectedEndTestCall( int callCount );
+  void setExpectStartSuite( CPPUNIT_NS::Test *suite );
+  void setExpectedStartSuiteCall( int callCount );
+  void setExpectEndSuite( CPPUNIT_NS::Test *suite );
+  void setExpectedEndSuiteCall( int callCount );
+  void setExpectStartTestRun( CPPUNIT_NS::Test *test,
+                              CPPUNIT_NS::TestResult *eventManager );
+  void setExpectedStartTestRunCall( int callCount );
+  void setExpectEndTestRun( CPPUNIT_NS::Test *test,
+                            CPPUNIT_NS::TestResult *eventManager );
+  void setExpectedEndTestRunCall( int callCount );
+
+  void addFailure( const CPPUNIT_NS::TestFailure &failure );
+  void startTest( CPPUNIT_NS::Test *test );
+  void endTest( CPPUNIT_NS::Test *test );
+  void startSuite( CPPUNIT_NS::Test *suite );
+  void endSuite( CPPUNIT_NS::Test *suite );
+  void startTestRun( CPPUNIT_NS::Test *test, 
+                     CPPUNIT_NS::TestResult *eventManager );
+  void endTestRun( CPPUNIT_NS::Test *test, 
+                   CPPUNIT_NS::TestResult *eventManager );
+
+  void verify();
+
+private:
+  std::string m_name;
+
+  bool m_hasExpectationForStartTest;
+  bool m_hasParametersExpectationForStartTest;
+  int m_expectedStartTestCallCount;
+  int m_startTestCall;
+  CPPUNIT_NS::Test *m_expectedStartTest;
+
+  bool m_hasExpectationForEndTest;
+  bool m_hasParametersExpectationForEndTest;
+  int m_expectedEndTestCallCount;
+  CPPUNIT_NS::Test *m_expectedEndTest;
+  int m_endTestCall;
+
+  bool m_hasExpectationForStartSuite;
+  bool m_hasParametersExpectationForStartSuite;
+  int m_expectedStartSuiteCallCount;
+  CPPUNIT_NS::Test *m_expectedStartSuite;
+  int m_startSuiteCall;
+
+  bool m_hasExpectationForEndSuite;
+  bool m_hasParametersExpectationForEndSuite;
+  int m_expectedEndSuiteCallCount;
+  CPPUNIT_NS::Test *m_expectedEndSuite;
+  int m_endSuiteCall;
+
+  bool m_hasExpectationForStartTestRun;
+  bool m_hasParametersExpectationForStartTestRun;
+  int m_expectedStartTestRunCallCount;
+  CPPUNIT_NS::Test *m_expectedStartTestRun;
+  CPPUNIT_NS::TestResult *m_expectedStartTestRun2;
+  int m_startTestRunCall;
+
+  bool m_hasExpectationForEndTestRun;
+  bool m_hasParametersExpectationForEndTestRun;
+  int m_expectedEndTestRunCallCount;
+  CPPUNIT_NS::Test *m_expectedEndTestRun;
+  CPPUNIT_NS::TestResult *m_expectedEndTestRun2;
+  int m_endTestRunCall;
+
+  bool m_hasExpectationForAddFailure;
+  bool m_hasExpectationForSomeFailure;
+  bool m_hasParametersExpectationForAddFailure;
+  int m_expectedAddFailureCallCount;
+  int m_addFailureCall;
+  CPPUNIT_NS::Test *m_expectedFailedTest;
+  CPPUNIT_NS::Exception *m_expectedException;
+  bool m_expectedIsError;
+};
+
+
+
+// Inlines methods for MockTestListener:
+// -------------------------------------
+
+
+
+#endif  // MOCKTESTLISTENER_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/OrthodoxTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/OrthodoxTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/OrthodoxTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,103 @@
+#include "ExtensionSuite.h"
+#include "OrthodoxTest.h"
+#include <cppunit/extensions/Orthodox.h>
+#include <cppunit/TestResult.h>
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( OrthodoxTest,
+                                       extensionSuiteName() );
+
+OrthodoxTest::OrthodoxTest()
+{
+}
+
+
+OrthodoxTest::~OrthodoxTest()
+{
+}
+
+
+void 
+OrthodoxTest::setUp()
+{
+  m_testListener = new MockTestListener( "mock-listener" );
+  m_result = new CPPUNIT_NS::TestResult();
+  m_result->addListener( m_testListener );
+}
+
+
+void 
+OrthodoxTest::tearDown()
+{
+  delete m_result;
+  delete m_testListener;
+}
+
+
+void 
+OrthodoxTest::testValue()
+{
+  CPPUNIT_NS::Orthodox<Value> test;
+  m_testListener->setExpectNoFailure();
+  test.run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+OrthodoxTest::testValueBadConstructor()
+{
+  CPPUNIT_NS::Orthodox<ValueBadConstructor> test;
+  m_testListener->setExpectFailure();
+  test.run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+OrthodoxTest::testValueBadInvert()
+{
+  CPPUNIT_NS::Orthodox<ValueBadInvert> test;
+  m_testListener->setExpectFailure();
+  test.run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+OrthodoxTest::testValueBadEqual()
+{
+  CPPUNIT_NS::Orthodox<ValueBadEqual> test;
+  m_testListener->setExpectFailure();
+  test.run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+OrthodoxTest::testValueBadNotEqual()
+{
+  CPPUNIT_NS::Orthodox<ValueBadNotEqual> test;
+  m_testListener->setExpectFailure();
+  test.run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+OrthodoxTest::testValueBadCall()
+{
+  CPPUNIT_NS::Orthodox<ValueBadCall> test;
+  m_testListener->setExpectFailure();
+  test.run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+OrthodoxTest::testValueBadAssignment()
+{
+  CPPUNIT_NS::Orthodox<ValueBadAssignment> test;
+  m_testListener->setExpectFailure();
+  test.run( m_result );
+  m_testListener->verify();
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/OrthodoxTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/OrthodoxTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/OrthodoxTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,178 @@
+#ifndef ORTHODOXTEST_H
+#define ORTHODOXTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include "MockTestListener.h"
+
+
+class OrthodoxTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( OrthodoxTest );
+  CPPUNIT_TEST( testValue );
+  CPPUNIT_TEST( testValueBadConstructor );
+  CPPUNIT_TEST( testValueBadInvert );
+  CPPUNIT_TEST( testValueBadEqual );
+  CPPUNIT_TEST( testValueBadNotEqual );
+  CPPUNIT_TEST( testValueBadCall );
+  CPPUNIT_TEST( testValueBadAssignment );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  OrthodoxTest();
+  virtual ~OrthodoxTest();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  void testValue();
+  void testValueBadConstructor();
+  void testValueBadInvert();
+  void testValueBadEqual();
+  void testValueBadNotEqual();
+  void testValueBadCall();
+  void testValueBadAssignment();
+
+private:
+  class Value
+  {
+  public:
+    Value( int value =0 ) : m_value( value ) {}
+
+    Value& operator= ( const Value& v )
+    {
+      m_value = v.m_value;
+      return *this;
+    }
+
+    bool operator ==( const Value &other ) const
+    {
+      return m_value == other.m_value;
+    }
+
+    bool operator !=( const Value &other )
+    {
+      return !( *this == other );
+    }
+
+    Value operator !()
+    {
+      return Value( -1 - m_value );
+    }
+
+  protected:
+    int m_value;
+  };
+
+
+  class ValueBadConstructor : public Value
+  {
+  public:
+    ValueBadConstructor()
+    {
+      static int serialNumber = 0;
+      m_value = ++serialNumber;
+    }
+
+    ValueBadConstructor( int value ) : Value( value ) {}
+
+    ValueBadConstructor operator !()
+    {
+      return ValueBadConstructor( -1 - m_value );
+    }
+  };
+
+  
+  class ValueBadInvert : public Value
+  {
+  public:
+    ValueBadInvert( int value =0 ) : Value( value ) {}
+
+    ValueBadInvert operator !()
+    {
+      return ValueBadInvert( 1 );
+    }
+  };
+
+  
+  class ValueBadEqual : public Value
+  {
+  public:
+    ValueBadEqual( int value =0 ) : Value( value ) {}
+
+    ValueBadEqual operator !()
+    {
+      return ValueBadEqual( -1 - m_value );
+    }
+
+    bool operator ==( const ValueBadEqual &other ) const
+    {
+      return m_value != other.m_value;
+    }
+  };
+
+  
+  class ValueBadNotEqual : public Value
+  {
+  public:
+    ValueBadNotEqual( int value =0 ) : Value( value ) {}
+
+    ValueBadNotEqual operator !()
+    {
+      return ValueBadNotEqual( -1 - m_value );
+    }
+
+    bool operator !=( const ValueBadNotEqual &other )
+    {
+      return m_value == other.m_value;
+    }
+  };
+
+
+  class ValueBadCall : public Value
+  {
+  public:
+    ValueBadCall( int value =0 ) : Value( value ) {}
+
+    ValueBadCall( const ValueBadCall &other ) 
+    {
+      static int serialNumber = 0;
+      m_value = ++serialNumber;
+    }
+
+    ValueBadCall operator !()
+    {
+      return ValueBadCall( -1 - m_value );
+    }
+  };
+
+
+  class ValueBadAssignment: public Value
+  {
+  public:
+    ValueBadAssignment( int value =0 ) : Value( value ) {}
+
+    ValueBadAssignment operator !()
+    {
+      return ValueBadAssignment( -1 - m_value );
+    }
+
+    ValueBadAssignment &operator =( const ValueBadAssignment &other )
+    {
+      ++m_value;
+      return *this;
+    }
+  };
+
+
+
+  OrthodoxTest( const OrthodoxTest &copy );
+  void operator =( const OrthodoxTest &copy );
+
+private:
+  CPPUNIT_NS::TestResult *m_result;
+  MockTestListener *m_testListener;
+};
+
+
+
+#endif  // ORTHODOXTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/OutputSuite.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/OutputSuite.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/OutputSuite.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,13 @@
+#ifndef CPPUNITTEST_OUTPUTSUITE_H
+#define CPPUNITTEST_OUTPUTSUITE_H
+
+#include <cppunit/Portability.h>
+#include <string>
+
+inline std::string outputSuiteName()
+{
+  return "Output";
+}
+
+
+#endif // CPPUNITTEST_OUTPUTSUITE_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/RepeatedTestTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/RepeatedTestTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/RepeatedTestTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,43 @@
+#include "ExtensionSuite.h"
+#include "RepeatedTestTest.h"
+#include <cppunit/extensions/RepeatedTest.h>
+#include <cppunit/TestResult.h>
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( RepeatedTestTest,
+                                       extensionSuiteName() );
+
+
+RepeatedTestTest::RepeatedTestTest() :
+    m_repeatCount( 17 )
+{
+}
+
+
+RepeatedTestTest::~RepeatedTestTest()
+{
+}
+
+
+void 
+RepeatedTestTest::setUp()
+{
+  m_test = new RunCountTest();
+  m_repeatedTest = new CPPUNIT_NS::RepeatedTest( m_test, m_repeatCount );
+}
+
+
+void 
+RepeatedTestTest::tearDown()
+{
+  delete m_repeatedTest;
+}
+
+
+void 
+RepeatedTestTest::testRun()
+{
+  CPPUNIT_NS::TestResult result;
+  m_repeatedTest->run( &result );
+
+  CPPUNIT_ASSERT_EQUAL( 17, m_test->m_runCount );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/RepeatedTestTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/RepeatedTestTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/RepeatedTestTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,47 @@
+#ifndef REPEATEDTESTTEST_H
+#define REPEATEDTESTTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+
+
+class RepeatedTestTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( RepeatedTestTest );
+  CPPUNIT_TEST( testRun );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  RepeatedTestTest();
+  virtual ~RepeatedTestTest();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  void testRun();
+
+private:
+  class RunCountTest : public CPPUNIT_NS::TestCase
+  {
+  public:
+    RunCountTest() : m_runCount( 0 ) {}
+
+    void runTest()
+    {
+      ++m_runCount;
+    }
+
+    int m_runCount;
+  };
+
+  RepeatedTestTest( const RepeatedTestTest &copy );
+  void operator =( const RepeatedTestTest &copy );
+
+private:
+  RunCountTest *m_test;
+  CPPUNIT_NS::Test *m_repeatedTest;
+  const int m_repeatCount;
+};
+
+
+
+#endif  // REPEATEDTESTTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/StringToolsTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/StringToolsTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/StringToolsTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,232 @@
+#include "StringToolsTest.h"
+
+CPPUNIT_TEST_SUITE_REGISTRATION( StringToolsTest );
+
+
+StringToolsTest::StringToolsTest()
+{
+}
+
+
+StringToolsTest::~StringToolsTest()
+{
+}
+
+
+void 
+StringToolsTest::setUp()
+{
+}
+
+
+void 
+StringToolsTest::tearDown()
+{
+}
+
+
+void 
+StringToolsTest::testToStringInt()
+{
+  std::string expected = "123456789";
+  std::string actual = CPPUNIT_NS::StringTools::toString( 123456789 );
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+StringToolsTest::testToStringDouble()
+{
+  std::string expected = "1234.56";
+  std::string actual = CPPUNIT_NS::StringTools::toString( 1234.56 );
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+StringToolsTest::testSplitEmptyString()
+{
+  std::string text;
+  CPPUNIT_NS::StringTools::Strings expected;
+  CPPUNIT_NS::StringTools::Strings actual = CPPUNIT_NS::StringTools::split( text, ';' );
+
+  CPPUNIT_ASSERT_EQUAL( expected.size(), actual.size() );
+  CPPUNIT_ASSERT( expected == actual );
+}
+
+
+void 
+StringToolsTest::testSplitOneItem()
+{
+  std::string text = "1";
+  CPPUNIT_NS::StringTools::Strings expected;
+  expected.push_back( "1" );
+  CPPUNIT_NS::StringTools::Strings actual = CPPUNIT_NS::StringTools::split( text, ';' );
+
+  CPPUNIT_ASSERT_EQUAL( expected.size(), actual.size() );
+  CPPUNIT_ASSERT( expected == actual );
+}
+
+
+void 
+StringToolsTest::testSplitItemEmpty()
+{
+  std::string text = "1;";
+  CPPUNIT_NS::StringTools::Strings expected;
+  expected.push_back( "1" );
+  expected.push_back( "" );
+  CPPUNIT_NS::StringTools::Strings actual = CPPUNIT_NS::StringTools::split( text, ';' );
+
+  CPPUNIT_ASSERT_EQUAL( expected.size(), actual.size() );
+  CPPUNIT_ASSERT( expected == actual );
+}
+
+
+void 
+StringToolsTest::testSplitTwoItem()
+{
+  std::string text = "2;1";
+  CPPUNIT_NS::StringTools::Strings expected;
+  expected.push_back( "2" );
+  expected.push_back( "1" );
+  CPPUNIT_NS::StringTools::Strings actual = CPPUNIT_NS::StringTools::split( text, ';' );
+
+  CPPUNIT_ASSERT_EQUAL( expected.size(), actual.size() );
+  CPPUNIT_ASSERT( expected == actual );
+}
+
+
+void 
+StringToolsTest::testSplitEmptyTwoItem()
+{
+  std::string text = ";1;2";
+  CPPUNIT_NS::StringTools::Strings expected;
+  expected.push_back( "" );
+  expected.push_back( "1" );
+  expected.push_back( "2" );
+  CPPUNIT_NS::StringTools::Strings actual = CPPUNIT_NS::StringTools::split( text, ';' );
+
+  CPPUNIT_ASSERT_EQUAL( expected.size(), actual.size() );
+  CPPUNIT_ASSERT( expected == actual );
+}
+
+
+void 
+StringToolsTest::testSplitEmptyItemEmpty()
+{
+  std::string text = ";1;";
+  CPPUNIT_NS::StringTools::Strings expected;
+  expected.push_back( "" );
+  expected.push_back( "1" );
+  expected.push_back( "" );
+  CPPUNIT_NS::StringTools::Strings actual = CPPUNIT_NS::StringTools::split( text, ';' );
+
+  CPPUNIT_ASSERT_EQUAL( expected.size(), actual.size() );
+  CPPUNIT_ASSERT( expected == actual );
+}
+
+
+void 
+StringToolsTest::testSplitEmptyItemEmptyEmptyItem()
+{
+  std::string text = ";1;;;2";
+  CPPUNIT_NS::StringTools::Strings expected;
+  expected.push_back( "" );
+  expected.push_back( "1" );
+  expected.push_back( "" );
+  expected.push_back( "" );
+  expected.push_back( "2" );
+  CPPUNIT_NS::StringTools::Strings actual = CPPUNIT_NS::StringTools::split( text, ';' );
+
+  CPPUNIT_ASSERT_EQUAL( expected.size(), actual.size() );
+  CPPUNIT_ASSERT( expected == actual );
+}
+
+
+void 
+StringToolsTest::testWrapEmpty()
+{
+  std::string text = "";
+  std::string expected = "";
+
+  std::string actual = CPPUNIT_NS::StringTools::wrap( text, 6 );
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+StringToolsTest::testWrapNotNeeded()
+{
+  std::string text = "abcd";
+  std::string expected = text;
+
+  std::string actual = CPPUNIT_NS::StringTools::wrap( text, 6 );
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+StringToolsTest::testWrapLimitNotNeeded()
+{
+  std::string text = "abcdef";
+  std::string expected = text;
+
+  std::string actual = CPPUNIT_NS::StringTools::wrap( text, 6 );
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+StringToolsTest::testWrapOneNeeded()
+{
+  std::string text = "abcdefghi";
+  std::string expected = "abcdef\nghi";
+
+  std::string actual = CPPUNIT_NS::StringTools::wrap( text, 6 );
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+StringToolsTest::testWrapTwoNeeded()
+{
+  std::string text = "abcdefghijklmnop";
+  std::string expected = "abcdef\nghijkl\nmnop";
+
+  std::string actual = CPPUNIT_NS::StringTools::wrap( text, 6 );
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+StringToolsTest::testWrapLimitTwoNeeded()
+{
+  std::string text = "abcdefghijklmnopqr";
+  std::string expected = "abcdef\nghijkl\nmnopqr";
+
+  std::string actual = CPPUNIT_NS::StringTools::wrap( text, 6 );
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+StringToolsTest::testWrapOneNeededTwoNeeded()
+{
+  std::string text = "123456789\nabcdefghijklmno";
+  std::string expected = "123456\n789\nabcdef\nghijkl\nmno";
+
+  std::string actual = CPPUNIT_NS::StringTools::wrap( text, 6 );
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+StringToolsTest::testWrapNotNeededEmptyLinesOneNeeded()
+{
+  std::string text = "12345\n\n\n\nabcdefghi";
+  std::string expected = "12345\n\n\n\nabcdef\nghi";
+
+  std::string actual = CPPUNIT_NS::StringTools::wrap( text, 6 );
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/StringToolsTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/StringToolsTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/StringToolsTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,74 @@
+#ifndef STRINGTOOLSTEST_H
+#define STRINGTOOLSTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/tools/StringTools.h>
+
+
+/// Unit tests for StringToolsTest
+class StringToolsTest : public CPPUNIT_NS::TestCase
+{
+  CPPUNIT_TEST_SUITE( StringToolsTest );
+  CPPUNIT_TEST( testToStringInt );
+  CPPUNIT_TEST( testToStringDouble );
+  CPPUNIT_TEST( testSplitEmptyString );
+  CPPUNIT_TEST( testSplitOneItem );
+  CPPUNIT_TEST( testSplitItemEmpty );
+  CPPUNIT_TEST( testSplitTwoItem );
+  CPPUNIT_TEST( testSplitEmptyTwoItem );
+  CPPUNIT_TEST( testSplitEmptyItemEmpty );
+  CPPUNIT_TEST( testSplitEmptyItemEmptyEmptyItem );
+  CPPUNIT_TEST( testWrapEmpty );
+  CPPUNIT_TEST( testWrapNotNeeded );
+  CPPUNIT_TEST( testWrapLimitNotNeeded );
+  CPPUNIT_TEST( testWrapOneNeeded );
+  CPPUNIT_TEST( testWrapTwoNeeded );
+  CPPUNIT_TEST( testWrapLimitTwoNeeded );
+  CPPUNIT_TEST( testWrapOneNeededTwoNeeded );
+  CPPUNIT_TEST( testWrapNotNeededEmptyLinesOneNeeded );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  /*! Constructs a StringToolsTest object.
+   */
+  StringToolsTest();
+
+  /// Destructor.
+  virtual ~StringToolsTest();
+
+  void setUp();
+  void tearDown();
+
+  void testToStringInt();
+  void testToStringDouble();
+
+  void testSplitEmptyString();
+  void testSplitOneItem();
+  void testSplitItemEmpty();
+  void testSplitTwoItem();
+  void testSplitEmptyTwoItem();
+  void testSplitEmptyItemEmpty();
+  void testSplitEmptyItemEmptyEmptyItem();
+
+  void testWrapEmpty();
+  void testWrapNotNeeded();
+  void testWrapLimitNotNeeded();
+  void testWrapOneNeeded();
+  void testWrapTwoNeeded();
+  void testWrapLimitTwoNeeded();
+  void testWrapOneNeededTwoNeeded();
+  void testWrapNotNeededEmptyLinesOneNeeded();
+
+private:
+  /// Prevents the use of the copy constructor.
+  StringToolsTest( const StringToolsTest &other );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const StringToolsTest &other );
+
+private:
+};
+
+
+
+#endif  // STRINGTOOLSTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/SubclassedTestCase.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/SubclassedTestCase.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/SubclassedTestCase.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,36 @@
+#include "SubclassedTestCase.h"
+
+
+SubclassedTestCase::SubclassedTestCase()
+{
+}
+
+
+SubclassedTestCase::~SubclassedTestCase()
+{
+}
+
+
+void 
+SubclassedTestCase::setUp()
+{
+}
+
+
+void 
+SubclassedTestCase::tearDown()
+{
+}
+
+
+void 
+SubclassedTestCase::checkIt()
+{
+  CPPUNIT_ASSERT( false );
+}
+
+
+void 
+SubclassedTestCase::testSubclassing()
+{
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/SubclassedTestCase.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/SubclassedTestCase.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/SubclassedTestCase.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,35 @@
+#ifndef SUBCLASSEDTESTCASE_H
+#define SUBCLASSEDTESTCASE_H
+
+#include "BaseTestCase.h"
+
+
+class SubclassedTestCase : public BaseTestCase
+{
+  CPPUNIT_TEST_SUB_SUITE( SubclassedTestCase, BaseTestCase );
+  CPPUNIT_TEST( testSubclassing );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  SubclassedTestCase();
+  virtual ~SubclassedTestCase();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  // Another test to ensure the subclassed test case are in the suite .
+  void testSubclassing();
+
+protected:
+  // We overload this method to ensure that the testUsingCheckIt in the
+  // parent class will fail.
+  virtual void checkIt();
+
+private:
+  SubclassedTestCase( const SubclassedTestCase &copy );
+  void operator =( const SubclassedTestCase &copy );
+};
+
+
+
+#endif  // SUBCLASSEDTESTCASE_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/SynchronizedTestResult.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/SynchronizedTestResult.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/SynchronizedTestResult.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,55 @@
+#ifndef SYNCHRONIZEDTESTRESULT_H
+#define SYNCHRONIZEDTESTRESULT_H
+
+#include <cppunit/TestResultCollector.h>
+
+
+class SynchronizedTestResult : public CPPUNIT_NS::TestResultCollector
+{
+public:
+
+  class SynchronizationObjectListener
+  {
+  public:
+    virtual ~SynchronizationObjectListener() {}
+    virtual void locked() {}
+    virtual void unlocked() {}
+  };
+
+  class ObservedSynchronizationObject : public CPPUNIT_NS::SynchronizedObject::SynchronizationObject
+  {
+  public:
+    ObservedSynchronizationObject( SynchronizationObjectListener *listener ) :
+        m_listener( listener )
+    {
+    }
+
+    virtual ~ObservedSynchronizationObject() 
+    {
+    }
+
+    virtual void lock() 
+    {
+      m_listener->locked();
+    }
+
+    virtual void unlock() 
+    {
+      m_listener->unlocked();
+    }
+
+  private:
+    SynchronizationObjectListener *m_listener;
+  };
+
+
+  SynchronizedTestResult( SynchronizationObjectListener *listener )
+  {
+    setSynchronizationObject( new ObservedSynchronizationObject( listener ) );
+  }
+
+  virtual ~SynchronizedTestResult() {}
+
+};
+
+#endif  // SYNCHRONIZEDTESTRESULT_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestAssertTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestAssertTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestAssertTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,200 @@
+#include "CoreSuite.h"
+#include "TestAssertTest.h"
+#include <algorithm>
+
+/*
+ Note:
+ - tests need to be added to test asserEquals() template function and
+ use of assertion traits. Some check may need to be added to check
+ the message content in Exception.
+ - code need to be refactored with the use of a test caller that expect
+ an exception.
+ */
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestAssertTest,
+                                       coreSuiteName() );
+
+
+TestAssertTest::TestAssertTest()
+{
+}
+
+
+TestAssertTest::~TestAssertTest()
+{
+}
+
+
+void 
+TestAssertTest::setUp()
+{
+}
+
+
+void 
+TestAssertTest::tearDown()
+{
+}
+
+
+void 
+TestAssertTest::testAssertThrow()
+{
+   CPPUNIT_ASSERT_THROW( throw std::exception(), std::exception );
+
+   try
+   {
+      CPPUNIT_ASSERT_THROW( 1234, std::exception );
+   }
+   catch ( CPPUNIT_NS::Exception & )
+   {
+      return;
+   }
+
+   throw std::exception();
+}
+
+
+void 
+TestAssertTest::testAssertNoThrow()
+{
+   CPPUNIT_ASSERT_NO_THROW( 1234 );
+
+   try
+   {
+      CPPUNIT_ASSERT_NO_THROW( throw std::exception() );
+   }
+   catch ( CPPUNIT_NS::Exception & )
+   {
+      return;
+   }
+   throw std::exception();
+}
+
+
+void 
+TestAssertTest::testAssertAssertionFail()
+{
+   CPPUNIT_ASSERT_ASSERTION_FAIL( throw CPPUNIT_NS::Exception() );
+
+   try
+   {
+      CPPUNIT_ASSERT_ASSERTION_FAIL( 1234 );
+   }
+   catch ( CPPUNIT_NS::Exception & )
+   {
+      return;
+   }
+
+   throw std::exception();
+}
+
+
+void 
+TestAssertTest::testAssertAssertionPass()
+{
+   CPPUNIT_ASSERT_ASSERTION_PASS( 1234 );
+
+   try
+   {
+      CPPUNIT_ASSERT_ASSERTION_PASS( throw CPPUNIT_NS::Exception() );
+   }
+   catch ( CPPUNIT_NS::Exception & )
+   {
+      return;
+   }
+
+   throw std::exception();
+}
+
+
+void 
+TestAssertTest::testAssert()
+{
+  CPPUNIT_ASSERT_ASSERTION_PASS( CPPUNIT_ASSERT( true ) );
+  
+  CPPUNIT_ASSERT_ASSERTION_FAIL( CPPUNIT_ASSERT( false ) );
+}
+
+
+static int foo() { return 1; }
+
+
+void 
+TestAssertTest::testAssertEqual()
+{
+  CPPUNIT_ASSERT_ASSERTION_PASS( CPPUNIT_ASSERT_EQUAL( 1, 1 ) );
+  CPPUNIT_ASSERT_ASSERTION_PASS( CPPUNIT_ASSERT_EQUAL( 1, foo() ) );
+  CPPUNIT_ASSERT_ASSERTION_PASS( CPPUNIT_ASSERT_EQUAL( 12345678, 12345678 ) );
+
+  CPPUNIT_ASSERT_ASSERTION_FAIL( CPPUNIT_ASSERT_EQUAL( 1, 2 ) );
+}
+
+
+void 
+TestAssertTest::testAssertMessageTrue()
+{
+  CPPUNIT_ASSERT_ASSERTION_PASS( 
+     CPPUNIT_ASSERT_MESSAGE( "This test should not failed", true ) );
+}
+
+
+void 
+TestAssertTest::testAssertMessageFalse()
+{
+  bool exceptionCaught = false;
+  std::string message( "This test message should not be seen" );
+  try
+  {
+    CPPUNIT_ASSERT_MESSAGE( message, 2==3 );
+  }
+  catch( CPPUNIT_NS::Exception &e )
+  {
+    exceptionCaught = true; // ok, we were expecting an exception.
+    checkMessageContains( &e, message );
+  }
+
+  CPPUNIT_ASSERT( exceptionCaught );
+}
+
+
+void 
+TestAssertTest::testAssertDoubleEquals()
+{
+  CPPUNIT_ASSERT_ASSERTION_PASS( CPPUNIT_ASSERT_DOUBLES_EQUAL( 1.1, 1.2, 0.101 ) );
+  CPPUNIT_ASSERT_ASSERTION_PASS( CPPUNIT_ASSERT_DOUBLES_EQUAL( 1.2, 1.1, 0.101 ) );
+
+  CPPUNIT_ASSERT_ASSERTION_FAIL( CPPUNIT_ASSERT_DOUBLES_EQUAL( 1.1, 1.2, 0.09 ) );
+  CPPUNIT_ASSERT_ASSERTION_FAIL( CPPUNIT_ASSERT_DOUBLES_EQUAL( 1.2, 1.1, 0.09 ) );
+}
+
+
+void 
+TestAssertTest::testFail()
+{
+  bool exceptionCaught = false;
+  std::string failure( "FailureMessage" );
+  try
+  {
+    CPPUNIT_FAIL( failure );
+  }
+  catch( CPPUNIT_NS::Exception &e )
+  {
+    exceptionCaught = true;
+    checkMessageContains( &e, failure );
+  }
+  CPPUNIT_ASSERT( exceptionCaught );
+}
+
+
+void 
+TestAssertTest::checkMessageContains( CPPUNIT_NS::Exception *e,
+                                      std::string expected )
+{
+  std::string actual = e->what();
+  CPPUNIT_ASSERT_MESSAGE( "Expected message not found: " + expected +
+                          ", was: " + actual,
+      std::search( actual.begin(), actual.end(), 
+                   expected.begin(), expected.end() ) != actual.end() );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestAssertTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestAssertTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestAssertTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,67 @@
+#ifndef TESTASSERTTEST_H
+#define TESTASSERTTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+
+
+class TestAssertTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( TestAssertTest );
+  CPPUNIT_TEST( testAssertThrow );
+  CPPUNIT_TEST( testAssertNoThrow );
+  CPPUNIT_TEST( testAssertAssertionFail );
+  CPPUNIT_TEST( testAssertAssertionPass );
+  CPPUNIT_TEST( testAssert );
+  CPPUNIT_TEST( testAssertEqual );
+  CPPUNIT_TEST( testAssertMessageTrue );
+  CPPUNIT_TEST( testAssertMessageFalse );
+  CPPUNIT_TEST( testAssertDoubleEquals );
+  CPPUNIT_TEST( testFail );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  TestAssertTest();
+
+  virtual ~TestAssertTest();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  void testAssertThrow();
+  void testAssertNoThrow();
+  void testAssertAssertionFail();
+  void testAssertAssertionPass();
+
+  void testBasicAssertions();
+
+  void testAssert();
+  
+  void testAssertEqual();
+
+  void testAssertMessageTrue();
+  void testAssertMessageFalse();
+
+  void testAssertDoubleEquals();
+  void testAssertDoubleNotEquals1();
+  void testAssertDoubleNotEquals2();
+
+  void testAssertLongEquals();
+  void testAssertLongNotEquals();
+
+  void testFail();
+
+private:
+  TestAssertTest( const TestAssertTest &copy );
+  void operator =( const TestAssertTest &copy );
+
+  void checkDoubleNotEquals( double expected, 
+                             double actual, 
+                             double delta );
+
+  void checkMessageContains( CPPUNIT_NS::Exception *e,
+                             std::string expectedMessage );
+
+private:
+};
+
+#endif  // TESTASSERTTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCallerTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCallerTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCallerTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,219 @@
+#include "FailureException.h"
+#include "HelperSuite.h"
+#include "TestCallerTest.h"
+#include <cppunit/extensions/HelperMacros.h>
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestCallerTest, 
+                                       helperSuiteName() );
+
+
+void 
+TestCallerTest::ExceptionThrower::testThrowFailureException()
+{
+  throw FailureException();
+}
+
+
+void 
+TestCallerTest::ExceptionThrower::testThrowException()
+{
+  throw CPPUNIT_NS::Exception( CPPUNIT_NS::Message( "expected Exception" ) );
+}
+
+
+void 
+TestCallerTest::ExceptionThrower::testThrowNothing()
+{
+}
+
+
+
+TestCallerTest::TestCallerTest() : 
+    m_testName( "TrackedTestCaseCaller" )
+{
+}
+
+
+TestCallerTest::~TestCallerTest()
+{
+}
+
+
+void 
+TestCallerTest::setUp()
+{
+  m_constructorCount = 0;
+  m_destructorCount = 0;
+  m_setUpCount = 0;
+  m_tearDownCount = 0;
+  m_testCount = 0;
+  TrackedTestCase::setTracker( this );
+  m_testListener = new MockTestListener( "listener1" );
+  m_result = new CPPUNIT_NS::TestResult();
+  m_result->addListener( m_testListener );
+}
+
+
+void 
+TestCallerTest::tearDown()
+{
+  TrackedTestCase::removeTracker();
+  delete m_result;
+  delete m_testListener;
+}
+
+
+void 
+TestCallerTest::onConstructor()
+{
+  m_constructorCount++;
+}
+
+
+void 
+TestCallerTest::onDestructor()
+{
+  m_destructorCount++;
+}
+
+
+void 
+TestCallerTest::onSetUp()
+{
+  m_setUpCount++;
+}
+
+
+void 
+TestCallerTest::onTearDown()
+{
+  m_tearDownCount++;
+}
+
+
+void 
+TestCallerTest::onTest()
+{
+  m_testCount++;
+}
+
+
+void 
+TestCallerTest::testBasicConstructor()
+{
+  {
+    CPPUNIT_NS::TestCaller<TrackedTestCase> caller( m_testName, 
+                                                 &TrackedTestCase::test );
+    checkTestName( caller.getName() );
+    checkNothingButConstructorCalled();
+
+    caller.run( m_result );
+
+    checkRunningSequenceCalled();
+  } // Force destruction of the test caller.
+  CPPUNIT_ASSERT_EQUAL( 1, m_destructorCount );
+}
+
+
+void 
+TestCallerTest::testReferenceConstructor()
+{
+  TrackedTestCase testCase;
+  {
+    CPPUNIT_NS::TestCaller<TrackedTestCase> caller( "TrackedTestCaseCaller", 
+                                                 &TrackedTestCase::test, 
+                                                 testCase );
+    checkTestName( caller.getName() );
+    checkNothingButConstructorCalled();
+
+    caller.run( m_result );
+
+    checkRunningSequenceCalled();
+  } // Force destruction of the test caller.
+  CPPUNIT_ASSERT_EQUAL( 0, m_destructorCount );
+}
+
+
+void 
+TestCallerTest::testPointerConstructor()
+{
+  TrackedTestCase *testCase = new TrackedTestCase();
+  {
+    CPPUNIT_NS::TestCaller<TrackedTestCase> caller( m_testName, 
+                                                 &TrackedTestCase::test, 
+                                                 testCase );
+    checkTestName( caller.getName() );
+    checkNothingButConstructorCalled();
+
+    caller.run( m_result );
+
+    checkRunningSequenceCalled();
+  } // Force destruction of the test caller.
+  CPPUNIT_ASSERT_EQUAL( 1, m_destructorCount );
+}
+
+/*
+// Now done by ExceptionTestCaseDecorator
+
+void 
+TestCallerTest::testExpectFailureException()
+{
+  CPPUNIT_NS::TestCaller<ExceptionThrower,FailureException> caller( 
+      m_testName,
+      &ExceptionThrower::testThrowFailureException );
+  m_testListener->setExpectNoFailure();
+  caller.run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+TestCallerTest::testExpectException()
+{
+  CPPUNIT_NS::TestCaller<ExceptionThrower,CPPUNIT_NS::Exception> caller( 
+      m_testName,
+      &ExceptionThrower::testThrowException );
+  m_testListener->setExpectNoFailure();
+  caller.run( m_result );
+  m_testListener->verify();
+}
+
+
+void 
+TestCallerTest::testExpectedExceptionNotCaught()
+{
+  CPPUNIT_NS::TestCaller<ExceptionThrower,FailureException> caller( 
+      m_testName,
+      &ExceptionThrower::testThrowNothing );
+  m_testListener->setExpectedAddFailureCall( 1 );
+  caller.run( m_result );
+  m_testListener->verify();
+}
+*/
+
+void 
+TestCallerTest::checkNothingButConstructorCalled()
+{
+  CPPUNIT_ASSERT_EQUAL( 1, m_constructorCount );
+  CPPUNIT_ASSERT_EQUAL( 0, m_destructorCount );
+  CPPUNIT_ASSERT_EQUAL( 0, m_setUpCount );
+  CPPUNIT_ASSERT_EQUAL( 0, m_tearDownCount );
+  CPPUNIT_ASSERT_EQUAL( 0, m_testCount );
+}
+
+
+void 
+TestCallerTest::checkRunningSequenceCalled()
+{
+  CPPUNIT_ASSERT_EQUAL( 1, m_setUpCount );
+  CPPUNIT_ASSERT_EQUAL( 1, m_testCount );
+  CPPUNIT_ASSERT_EQUAL( 1, m_tearDownCount );
+}
+
+
+void 
+TestCallerTest::checkTestName( std::string testName )
+{
+  CPPUNIT_ASSERT( testName == m_testName );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCallerTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCallerTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCallerTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,77 @@
+#ifndef TESTCALLERTEST_H
+#define TESTCALLERTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/TestCase.h>
+#include <cppunit/TestResult.h>
+#include <cppunit/TestSuite.h>
+#include "MockTestListener.h"
+#include "TrackedTestCase.h"
+
+class TestCallerTest : public CPPUNIT_NS::TestFixture, 
+                              Tracker
+{
+  CPPUNIT_TEST_SUITE( TestCallerTest );
+  CPPUNIT_TEST( testBasicConstructor );
+  CPPUNIT_TEST( testReferenceConstructor );
+  CPPUNIT_TEST( testPointerConstructor );
+//  CPPUNIT_TEST( testExpectFailureException );
+//  CPPUNIT_TEST( testExpectException );
+//  CPPUNIT_TEST( testExpectedExceptionNotCaught );
+  CPPUNIT_TEST_SUITE_END();
+public:
+  TestCallerTest();
+  virtual ~TestCallerTest();
+
+  void setUp();
+  void tearDown();
+
+  void testBasicConstructor();
+  void testReferenceConstructor();
+  void testPointerConstructor();
+
+//  void testExpectFailureException();
+//  void testExpectException();
+//  void testExpectedExceptionNotCaught();
+
+private:
+  class ExceptionThrower : public CPPUNIT_NS::TestCase
+  {
+  public:
+    void testThrowFailureException();
+    void testThrowException();
+    void testThrowNothing();
+  };
+
+  virtual void onConstructor();
+  virtual void onDestructor();
+  virtual void onSetUp();
+  virtual void onTearDown();
+  virtual void onTest();
+
+  void checkNothingButConstructorCalled();
+  void checkRunningSequenceCalled();
+  void checkTestName( std::string testName );
+
+  TestCallerTest( const TestCallerTest &copy );
+  void operator =( const TestCallerTest &copy );
+
+private:
+  int m_constructorCount;
+  int m_destructorCount;
+  int m_setUpCount;
+  int m_tearDownCount;
+  int m_testCount;
+  const std::string m_testName;
+  MockTestListener *m_testListener;
+  CPPUNIT_NS::TestResult *m_result;
+};
+
+
+
+// Inlines methods for TestCallerTest:
+// -----------------------------------
+
+
+
+#endif  // TESTCALLERTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCaseTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCaseTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCaseTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,161 @@
+#include "CoreSuite.h"
+#include "FailureException.h"
+#include "MockTestCase.h"
+#include "TestCaseTest.h"
+#include <cppunit/TestResult.h>
+
+/*
+ - test have been done to check exception management in run(). other 
+   tests need to be added to check the other aspect of TestCase.
+ */
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestCaseTest,
+                                       coreSuiteName() );
+
+
+TestCaseTest::TestCaseTest()
+{
+}
+
+
+TestCaseTest::~TestCaseTest()
+{
+}
+
+
+void 
+TestCaseTest::setUp()
+{
+  m_testListener = new MockTestListener( "mock-testlistener" );
+  m_result = new CPPUNIT_NS::TestResult();
+  m_result->addListener( m_testListener );
+}
+
+
+void 
+TestCaseTest::tearDown()
+{
+  delete m_result;
+  delete m_testListener;
+}
+
+
+void 
+TestCaseTest::testSetUpFailure()
+{
+  checkFailure( true, false, false );
+}
+
+
+void 
+TestCaseTest::testRunTestFailure()
+{
+  checkFailure( false, true, false );
+}
+
+
+void 
+TestCaseTest::testTearDownFailure()
+{
+  checkFailure( false, false, true );
+}
+
+
+void 
+TestCaseTest::testFailAll()
+{
+  checkFailure( true, true, true );
+}
+
+
+void 
+TestCaseTest::testNoFailure()
+{
+  checkFailure( false, false, false );
+}
+
+
+void 
+TestCaseTest::checkFailure( bool failSetUp, 
+                            bool failRunTest,
+                            bool failTearDown )
+{
+  try
+  {
+    MockTestCase testCase( "mock-test" );
+    if ( failSetUp )
+      testCase.makeSetUpThrow();
+    if ( failRunTest )
+      testCase.makeRunTestThrow();
+    if ( failTearDown )
+      testCase.makeTearDownThrow();
+    testCase.setExpectedSetUpCall( 1 );
+    testCase.setExpectedRunTestCall( failSetUp ? 0 : 1 );
+    testCase.setExpectedTearDownCall( failSetUp ? 0 : 1 );
+    
+    testCase.run( m_result );
+
+    testCase.verify();
+  }
+  catch ( FailureException & )
+  {
+    CPPUNIT_ASSERT_MESSAGE( "exception should have been caught", false );
+  }
+}
+
+
+void 
+TestCaseTest::testCountTestCases()
+{
+  CPPUNIT_NS::TestCase test;
+  CPPUNIT_ASSERT_EQUAL( 1, test.countTestCases() );
+}
+
+
+void 
+TestCaseTest::testDefaultConstructor()
+{
+  CPPUNIT_NS::TestCase test;
+  CPPUNIT_ASSERT_EQUAL( std::string(""), test.getName() );
+}
+
+
+void 
+TestCaseTest::testConstructorWithName()
+{
+  std::string testName( "TestName" );
+  CPPUNIT_NS::TestCase test( testName );
+  CPPUNIT_ASSERT_EQUAL( testName, test.getName() );
+}
+
+
+void 
+TestCaseTest::testTwoRun()
+{
+  MockTestCase test1( "mocktest1" );
+  test1.makeRunTestThrow();
+  m_testListener->setExpectedStartTestCall( 2 );
+  m_testListener->setExpectedAddFailureCall( 2 );
+  m_testListener->setExpectedEndTestCall( 2 );
+
+  test1.run( m_result );
+  test1.run( m_result );
+
+  m_testListener->verify();
+}
+
+
+void 
+TestCaseTest::testGetChildTestCount()
+{
+  CPPUNIT_NS::TestCase test( "test" );
+  CPPUNIT_ASSERT_EQUAL( 0, test.getChildTestCount() );
+}
+
+
+void 
+TestCaseTest::testGetChildTestAtThrow()
+{
+  CPPUNIT_NS::TestCase test( "test" );
+  test.getChildTestAt( 0 );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCaseTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCaseTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestCaseTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,73 @@
+// //////////////////////////////////////////////////////////////////////////
+// Header file TestCaseTest.h for class TestCaseTest
+// (c)Copyright 2000, Baptiste Lepilleur.
+// Created: 2000/06/09
+// //////////////////////////////////////////////////////////////////////////
+#ifndef TESTCASETEST_H
+#define TESTCASETEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/TestResult.h>
+#include "MockTestListener.h"
+#include <stdexcept>
+
+
+class TestCaseTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( TestCaseTest );
+  CPPUNIT_TEST( testSetUpFailure );
+  CPPUNIT_TEST( testRunTestFailure );
+  CPPUNIT_TEST( testTearDownFailure );
+  CPPUNIT_TEST( testFailAll );
+  CPPUNIT_TEST( testNoFailure );
+  CPPUNIT_TEST( testTwoRun );
+  CPPUNIT_TEST( testCountTestCases );
+  CPPUNIT_TEST( testDefaultConstructor );
+  CPPUNIT_TEST( testConstructorWithName );
+  CPPUNIT_TEST( testGetChildTestCount );
+  CPPUNIT_TEST_EXCEPTION( testGetChildTestAtThrow, std::out_of_range );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  TestCaseTest();
+
+  virtual ~TestCaseTest();
+
+  void setUp();
+  void tearDown();
+
+  void testSetUpFailure();
+  void testRunTestFailure();
+  void testTearDownFailure();
+  void testFailAll();
+  void testNoFailure();
+  void testTwoRun();
+
+  void testCountTestCases();
+
+  void testDefaultConstructor();
+  void testConstructorWithName();
+
+  void testGetChildTestCount();
+  void testGetChildTestAtThrow();
+
+private:
+  TestCaseTest( const TestCaseTest &copy );
+  void operator =( const TestCaseTest &copy );
+
+  void checkFailure( bool failSetUp, 
+                     bool failRunTest,
+                     bool failTearDown );
+/*
+  void checkResult( int failures,
+                    int errors,
+                    int testsRun,
+                    CPPUNIT_NS::TestResult *result );
+*/
+private:
+  CPPUNIT_NS::TestResult *m_result;
+  MockTestListener *m_testListener;
+};
+
+
+#endif  // TESTCASETEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestDecoratorTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestDecoratorTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestDecoratorTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,61 @@
+#include "ExtensionSuite.h"
+#include "TestDecoratorTest.h"
+#include <cppunit/TestResult.h>
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestDecoratorTest,
+                                       extensionSuiteName() );
+
+
+TestDecoratorTest::TestDecoratorTest()
+{
+}
+
+
+TestDecoratorTest::~TestDecoratorTest()
+{
+}
+
+
+void 
+TestDecoratorTest::setUp()
+{
+  m_test = new MockTestCase( "mocktest" );
+  m_decorator = new CPPUNIT_NS::TestDecorator( m_test );
+}
+
+
+void 
+TestDecoratorTest::tearDown()
+{
+  delete m_decorator;
+}
+
+
+void 
+TestDecoratorTest::testCountTestCases()
+{
+  m_test->setExpectedCountTestCasesCall( 1 );
+  CPPUNIT_ASSERT_EQUAL( 1, m_decorator->countTestCases() );
+  m_test->verify();
+}
+
+
+void 
+TestDecoratorTest::testRun()
+{
+  m_test->setExpectedSetUpCall( 1 );
+  m_test->setExpectedRunTestCall( 1 );
+  m_test->setExpectedTearDownCall( 1 );
+  CPPUNIT_NS::TestResult result;
+
+  m_decorator->run( &result );
+  m_test->verify();
+}
+
+
+void 
+TestDecoratorTest::testGetName()
+{
+  CPPUNIT_ASSERT_EQUAL( m_test->getName(), m_decorator->getName() );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestDecoratorTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestDecoratorTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestDecoratorTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,39 @@
+#ifndef TESTDECORATORTEST_H
+#define TESTDECORATORTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/extensions/TestDecorator.h>
+#include "MockTestCase.h"
+
+
+class TestDecoratorTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( TestDecoratorTest );
+  CPPUNIT_TEST( testCountTestCases );
+  CPPUNIT_TEST( testRun );
+  CPPUNIT_TEST( testGetName );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  TestDecoratorTest();
+  virtual ~TestDecoratorTest();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  void testCountTestCases();
+  void testRun();
+  void testGetName();
+
+private:
+  TestDecoratorTest( const TestDecoratorTest &copy );
+  void operator =( const TestDecoratorTest &copy );
+
+private:
+  MockTestCase *m_test;
+  CPPUNIT_NS::TestDecorator *m_decorator;
+};
+
+
+
+#endif  // TESTDECORATORTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestFailureTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestFailureTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestFailureTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,70 @@
+#include "CoreSuite.h"
+#include "TestFailureTest.h"
+#include <cppunit/TestFailure.h>
+#include <cppunit/Exception.h>
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestFailureTest,
+                                       coreSuiteName() );
+
+
+TestFailureTest::TestFailureTest()
+{
+}
+
+
+TestFailureTest::~TestFailureTest()
+{
+}
+
+
+void 
+TestFailureTest::setUp()
+{
+  m_exceptionDestroyed = false;
+}
+
+
+void 
+TestFailureTest::tearDown()
+{
+}
+
+
+void 
+TestFailureTest::testConstructorAndGetters()
+{
+  CPPUNIT_NS::TestCase test;
+  CPPUNIT_NS::Exception *error = new ObservedException( this );
+  checkTestFailure( &test, error, false );
+  CPPUNIT_ASSERT( m_exceptionDestroyed );
+}
+
+
+void 
+TestFailureTest::testConstructorAndGettersForError()
+{
+  CPPUNIT_NS::TestCase test;
+  CPPUNIT_NS::Exception *error = new ObservedException( this );
+  checkTestFailure( &test, error, true );
+  CPPUNIT_ASSERT( m_exceptionDestroyed );
+}
+
+
+void 
+TestFailureTest::exceptionDestroyed()
+{
+  m_exceptionDestroyed = true;
+}
+
+
+void 
+TestFailureTest::checkTestFailure( CPPUNIT_NS::Test *test, 
+                                   CPPUNIT_NS::Exception *error,
+                                   bool isError )
+{
+  CPPUNIT_NS::TestFailure failure( test, error, isError );
+  CPPUNIT_ASSERT_EQUAL( test, failure.failedTest() );
+  CPPUNIT_ASSERT_EQUAL( error, failure.thrownException() );
+  CPPUNIT_ASSERT_EQUAL( isError, failure.isError() );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestFailureTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestFailureTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestFailureTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,57 @@
+#ifndef TESTFAILURETEST_H
+#define TESTFAILURETEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+
+
+class TestFailureTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( TestFailureTest );
+  CPPUNIT_TEST( testConstructorAndGetters );
+  CPPUNIT_TEST( testConstructorAndGettersForError );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  TestFailureTest();
+  virtual ~TestFailureTest();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  void testConstructorAndGetters();
+  void testConstructorAndGettersForError();
+
+  void exceptionDestroyed();
+
+private:
+  class ObservedException : public CPPUNIT_NS::Exception
+  {
+  public:
+    ObservedException( TestFailureTest *listener ) : 
+        CPPUNIT_NS::Exception( CPPUNIT_NS::Message("ObservedException" ) ),
+        m_listener( listener )
+    {
+    }
+
+    virtual ~ObservedException() throw()
+    {
+      m_listener->exceptionDestroyed();
+    }
+  private:
+    TestFailureTest *m_listener;
+  };
+
+
+  TestFailureTest( const TestFailureTest &copy );
+  void operator =( const TestFailureTest &copy );
+  void checkTestFailure( CPPUNIT_NS::Test *test, 
+                         CPPUNIT_NS::Exception *error,
+                         bool isError );
+
+private:
+  bool m_exceptionDestroyed;
+};
+
+
+
+#endif  // TESTFAILURETEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestPathTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestPathTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestPathTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,490 @@
+#include "CoreSuite.h"
+#include "TestPathTest.h"
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestPathTest,
+                                       coreSuiteName() );
+
+
+TestPathTest::TestPathTest()
+{
+}
+
+
+TestPathTest::~TestPathTest()
+{
+}
+
+
+void 
+TestPathTest::setUp()
+{
+  m_path = new CPPUNIT_NS::TestPath();
+  m_test1 = new CPPUNIT_NS::TestCase( "test1" );
+  m_test2 = new CPPUNIT_NS::TestCase( "test2" );
+  m_test3 = new CPPUNIT_NS::TestCase( "test3" );
+  m_test4 = new CPPUNIT_NS::TestCase( "test4" );
+
+  m_suite1 = new CPPUNIT_NS::TestSuite( "All Tests" );
+  m_suite2 = new CPPUNIT_NS::TestSuite( "Custom" );
+  m_testSuite2a =  new CPPUNIT_NS::TestCase( "MyTest::testDefaultConstructor" );
+  m_testSuite2b =  new CPPUNIT_NS::TestCase( "MyTest::testConstructor" );
+  m_suite2->addTest( m_testSuite2a );
+  m_suite2->addTest( m_testSuite2b );
+  m_suite1->addTest( m_suite2 );
+}
+
+
+void 
+TestPathTest::tearDown()
+{
+  delete m_suite1;
+  delete m_path;
+  delete m_test4;
+  delete m_test3;
+  delete m_test2;
+  delete m_test1;
+}
+
+
+void 
+TestPathTest::testDefaultConstructor()
+{
+  CPPUNIT_ASSERT_EQUAL( 0, m_path->getTestCount() );
+  CPPUNIT_ASSERT( !m_path->isValid() );
+}
+
+
+void 
+TestPathTest::testAddTest()
+{
+  m_path->add( m_test1 );
+  CPPUNIT_ASSERT_EQUAL( 1, m_path->getTestCount() );
+  CPPUNIT_ASSERT( m_path->isValid() );
+  CPPUNIT_ASSERT( m_test1 == m_path->getTestAt(0) );
+}
+
+
+void 
+TestPathTest::testGetTestAtThrow1()
+{
+  m_path->getTestAt( 0 );
+}
+
+
+void 
+TestPathTest::testGetTestAtThrow2()
+{
+  m_path->add( m_test1 );
+  m_path->getTestAt( 1 );
+}
+
+
+void 
+TestPathTest::testGetChildTest()
+{
+  m_path->add( m_test1 );
+  CPPUNIT_ASSERT( m_test1 == m_path->getChildTest() );
+}
+
+
+void 
+TestPathTest::testGetChildTestManyTests()
+{
+  m_path->add( m_test1 );
+  m_path->add( m_test2 );
+  m_path->add( m_test3 );
+  CPPUNIT_ASSERT( m_test3 == m_path->getChildTest() );
+}
+
+
+void 
+TestPathTest::testGetChildTestThrowIfNotValid()
+{
+  m_path->getChildTest();
+}
+
+
+void 
+TestPathTest::testAddPath()
+{
+  CPPUNIT_NS::TestPath path;
+  path.add( m_test2 );
+  path.add( m_test3 );
+
+  m_path->add( m_test1 );
+  m_path->add( path );
+
+  CPPUNIT_ASSERT_EQUAL( 3, m_path->getTestCount() );
+  CPPUNIT_ASSERT( m_test1 == m_path->getTestAt(0) );
+  CPPUNIT_ASSERT( m_test2 == m_path->getTestAt(1) );
+  CPPUNIT_ASSERT( m_test3 == m_path->getTestAt(2) );
+}
+
+
+void 
+TestPathTest::testAddInvalidPath()
+{
+  CPPUNIT_NS::TestPath path;
+  m_path->add( path );
+
+  CPPUNIT_ASSERT( !m_path->isValid() );
+}
+
+
+void 
+TestPathTest::testRemoveTests()
+{
+  m_path->add( m_test1 );
+  m_path->add( m_test2 );
+
+  m_path->removeTests();
+
+  CPPUNIT_ASSERT( !m_path->isValid() );
+}
+
+
+void 
+TestPathTest::testRemoveTest()
+{
+  m_path->add( m_test1 );
+  m_path->add( m_test2 );
+
+  m_path->removeTest( 0 );
+
+  CPPUNIT_ASSERT_EQUAL( 1, m_path->getTestCount() );
+  CPPUNIT_ASSERT( m_test2 == m_path->getTestAt(0) );
+}
+
+
+void 
+TestPathTest::testRemoveTestThrow1()
+{
+  m_path->removeTest( -1 );
+}
+
+
+void 
+TestPathTest::testRemoveTestThrow2()
+{
+  m_path->add( m_test1 );
+
+  m_path->removeTest( 1 );
+}
+
+
+void 
+TestPathTest::testUp()
+{
+  m_path->add( m_test1 );
+
+  m_path->up();
+
+  CPPUNIT_ASSERT( !m_path->isValid() );
+}
+
+
+void 
+TestPathTest::testUpThrow()
+{
+  m_path->up();
+}
+
+
+void 
+TestPathTest::testInsert()
+{
+  m_path->add( m_test1 );
+
+  m_path->insert( m_test2, 0 );
+
+  CPPUNIT_ASSERT_EQUAL( 2, m_path->getTestCount() );
+  CPPUNIT_ASSERT( m_test2 == m_path->getTestAt(0) );
+  CPPUNIT_ASSERT( m_test1 == m_path->getTestAt(1) );
+}
+
+
+void 
+TestPathTest::testInsertAtEnd()
+{
+  m_path->add( m_test1 );
+
+  m_path->insert( m_test2, 1 );
+
+  CPPUNIT_ASSERT_EQUAL( 2, m_path->getTestCount() );
+  CPPUNIT_ASSERT( m_test1 == m_path->getTestAt(0) );
+  CPPUNIT_ASSERT( m_test2 == m_path->getTestAt(1) );
+}
+
+
+void 
+TestPathTest::testInsertThrow1()
+{
+  m_path->insert( m_test1, -1 );
+}
+
+
+void 
+TestPathTest::testInsertThrow2()
+{
+  m_path->add( m_test1 );
+
+  m_path->insert( m_test1, 2 );
+}
+
+
+void 
+TestPathTest::testInsertPath()
+{
+  CPPUNIT_NS::TestPath path;
+  path.add( m_test2 );
+  path.add( m_test3 );
+
+  m_path->add( m_test1 );
+  m_path->add( m_test4 );
+  m_path->insert( path, 1 );
+
+  CPPUNIT_ASSERT_EQUAL( 4, m_path->getTestCount() );
+  CPPUNIT_ASSERT( m_test1 == m_path->getTestAt(0) );
+  CPPUNIT_ASSERT( m_test2 == m_path->getTestAt(1) );
+  CPPUNIT_ASSERT( m_test3 == m_path->getTestAt(2) );
+  CPPUNIT_ASSERT( m_test4 == m_path->getTestAt(3) );
+}
+
+
+void 
+TestPathTest::testInsertPathThrow()
+{
+  CPPUNIT_NS::TestPath path;
+  path.add( m_test2 );
+
+  m_path->insert( path, 1 );
+}
+
+
+void 
+TestPathTest::testInsertPathDontThrowIfInvalid()
+{
+  CPPUNIT_NS::TestPath path;
+  m_path->insert( path, 1 );
+}
+
+
+void 
+TestPathTest::testRootConstructor()
+{
+  CPPUNIT_NS::TestPath path( m_test1 );
+  CPPUNIT_ASSERT( path.isValid() );
+  CPPUNIT_ASSERT_EQUAL( 1, path.getTestCount() );
+  CPPUNIT_ASSERT( m_test1 == path.getTestAt(0) );
+}
+
+
+void 
+TestPathTest::testPathSliceConstructorCopyUntilEnd()
+{
+  m_path->add( m_test1 );
+  m_path->add( m_test2 );
+  m_path->add( m_test3 );
+  
+  CPPUNIT_NS::TestPath path( *m_path, 1 );
+
+  CPPUNIT_ASSERT_EQUAL( 2, path.getTestCount() );
+  CPPUNIT_ASSERT( m_test2 == path.getTestAt(0) );
+  CPPUNIT_ASSERT( m_test3 == path.getTestAt(1) );
+}
+
+
+void 
+TestPathTest::testPathSliceConstructorCopySpecifiedCount()
+{
+  m_path->add( m_test1 );
+  m_path->add( m_test2 );
+  m_path->add( m_test3 );
+  
+  CPPUNIT_NS::TestPath path( *m_path, 0, 1 );
+
+  CPPUNIT_ASSERT_EQUAL( 1, path.getTestCount() );
+  CPPUNIT_ASSERT( m_test1 == path.getTestAt(0) );
+}
+
+
+void 
+TestPathTest::testPathSliceConstructorCopyNone()
+{
+  m_path->add( m_test1 );
+  
+  CPPUNIT_NS::TestPath path( *m_path, 0, 0 );
+  CPPUNIT_ASSERT_EQUAL( 0, path.getTestCount() );
+}
+
+
+void 
+TestPathTest::testPathSliceConstructorNegativeIndex()
+{
+  m_path->add( m_test1 );
+  m_path->add( m_test2 );
+
+  CPPUNIT_NS::TestPath path( *m_path, -1, 2 );
+
+  CPPUNIT_ASSERT_EQUAL( 1, path.getTestCount() );
+  CPPUNIT_ASSERT( m_test1 == path.getTestAt(0) );
+}
+
+
+void 
+TestPathTest::testPathSliceConstructorAfterEndIndex()
+{
+  m_path->add( m_test1 );
+  m_path->add( m_test2 );
+
+  CPPUNIT_NS::TestPath path( *m_path, 2, 5 );
+
+  CPPUNIT_ASSERT_EQUAL( 0, path.getTestCount() );
+}
+
+
+void 
+TestPathTest::testPathSliceConstructorNegativeIndexUntilEnd()
+{
+  m_path->add( m_test1 );
+  m_path->add( m_test2 );
+
+  CPPUNIT_NS::TestPath path( *m_path, -1 );
+
+  CPPUNIT_ASSERT_EQUAL( 2, path.getTestCount() );
+  CPPUNIT_ASSERT( m_test1 == path.getTestAt(0) );
+  CPPUNIT_ASSERT( m_test2 == path.getTestAt(1) );
+}
+
+
+void 
+TestPathTest::testPathSliceConstructorNegativeIndexNone()
+{
+  m_path->add( m_test1 );
+  m_path->add( m_test2 );
+
+  CPPUNIT_NS::TestPath path( *m_path, -2, 1 );
+
+  CPPUNIT_ASSERT_EQUAL( 0, path.getTestCount() );
+}
+
+
+void 
+TestPathTest::testToStringNoTest()
+{
+  std::string expected = "/";
+  std::string actual = m_path->toString();
+
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+TestPathTest::testToStringOneTest()
+{
+  m_path->add( m_test1 );
+
+  std::string expected = "/test1";
+  std::string actual = m_path->toString();
+
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+TestPathTest::testToStringHierarchy()
+{
+  m_path->add( m_suite1 );
+  m_path->add( m_suite2 );
+  m_path->add( m_suite2->getChildTestAt(0) );
+
+  std::string expected = "/All Tests/Custom/MyTest::testDefaultConstructor";
+  std::string actual = m_path->toString();
+
+  CPPUNIT_ASSERT_EQUAL( expected, actual );
+}
+
+
+void 
+TestPathTest::testPathStringConstructorRoot()
+{
+  CPPUNIT_NS::TestPath path( m_suite1, "/All Tests" );
+
+  CPPUNIT_ASSERT_EQUAL( 1, path.getTestCount() );
+  CPPUNIT_ASSERT( m_suite1 == path.getTestAt(0) );
+}
+
+
+void 
+TestPathTest::testPathStringConstructorEmptyIsRoot()
+{
+  CPPUNIT_NS::TestPath path( m_suite1, "" );
+
+  CPPUNIT_ASSERT_EQUAL( 1, path.getTestCount() );
+  CPPUNIT_ASSERT( m_suite1 == path.getTestAt(0) );
+}
+
+
+void 
+TestPathTest::testPathStringConstructorHierarchy()
+{
+  CPPUNIT_NS::TestPath path( m_suite1, "/All Tests/Custom/MyTest::testDefaultConstructor" );
+
+  CPPUNIT_ASSERT_EQUAL( 3, path.getTestCount() );
+  CPPUNIT_ASSERT( m_suite1 == path.getTestAt(0) );
+  CPPUNIT_ASSERT( m_suite2 == path.getTestAt(1) );
+  CPPUNIT_ASSERT( m_testSuite2a == path.getTestAt(2) );
+}
+
+
+void 
+TestPathTest::testPathStringConstructorBadRootThrow()
+{
+  CPPUNIT_NS::TestPath path( m_suite1, "/Custom" );
+}
+
+
+void 
+TestPathTest::testPathStringConstructorRelativeRoot()
+{
+  CPPUNIT_NS::TestPath path( m_suite1, "All Tests" );
+
+  CPPUNIT_ASSERT_EQUAL( 1, path.getTestCount() );
+  CPPUNIT_ASSERT( m_suite1 == path.getTestAt(0) );
+}
+
+
+void 
+TestPathTest::testPathStringConstructorRelativeRoot2()
+{
+  CPPUNIT_NS::TestPath path( m_suite1, "Custom" );
+
+  CPPUNIT_ASSERT_EQUAL( 1, path.getTestCount() );
+  CPPUNIT_ASSERT( m_suite2 == path.getTestAt(0) );
+}
+
+
+void 
+TestPathTest::testPathStringConstructorThrow1()
+{
+  CPPUNIT_NS::TestPath path( m_suite1, "/" );
+}
+
+
+void 
+TestPathTest::testPathStringConstructorRelativeHierarchy()
+{
+  CPPUNIT_NS::TestPath path( m_suite1, "Custom/MyTest::testConstructor" );
+
+  CPPUNIT_ASSERT_EQUAL( 2, path.getTestCount() );
+  CPPUNIT_ASSERT( m_suite2 == path.getTestAt(0) );
+  CPPUNIT_ASSERT( m_testSuite2b == path.getTestAt(1) );
+}
+
+
+void 
+TestPathTest::testPathStringConstructorBadRelativeHierarchyThrow()
+{
+  CPPUNIT_NS::TestPath path( m_suite1, "Custom/MyBadTest::testConstructor" );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestPathTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestPathTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestPathTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,142 @@
+#ifndef TESTPATHTEST_H
+#define TESTPATHTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/TestPath.h>
+#include <cppunit/TestCase.h>
+#include <stdexcept>
+
+
+/*! \class TestPathTest
+ * \brief Unit tests for class TestPath.
+ */
+class TestPathTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( TestPathTest );
+  CPPUNIT_TEST( testDefaultConstructor );
+  CPPUNIT_TEST( testAddTest );
+  CPPUNIT_TEST_EXCEPTION( testGetTestAtThrow1, std::out_of_range );
+  CPPUNIT_TEST_EXCEPTION( testGetTestAtThrow2, std::out_of_range );
+  CPPUNIT_TEST( testGetChildTest );
+  CPPUNIT_TEST( testGetChildTestManyTests );
+  CPPUNIT_TEST_EXCEPTION( testGetChildTestThrowIfNotValid, std::out_of_range );
+  CPPUNIT_TEST( testAddPath );
+  CPPUNIT_TEST( testAddInvalidPath );
+  CPPUNIT_TEST( testRemoveTests );
+  CPPUNIT_TEST( testRemoveTest );
+  CPPUNIT_TEST_EXCEPTION( testRemoveTestThrow1, std::out_of_range );
+  CPPUNIT_TEST_EXCEPTION( testRemoveTestThrow2, std::out_of_range );
+  CPPUNIT_TEST( testUp );
+  CPPUNIT_TEST_EXCEPTION( testUpThrow, std::out_of_range );
+  CPPUNIT_TEST( testInsert );
+  CPPUNIT_TEST( testInsertAtEnd );
+  CPPUNIT_TEST_EXCEPTION( testInsertThrow1, std::out_of_range );
+  CPPUNIT_TEST_EXCEPTION( testInsertThrow2, std::out_of_range );
+  CPPUNIT_TEST( testInsertPath );
+  CPPUNIT_TEST_EXCEPTION( testInsertPathThrow, std::out_of_range );
+  CPPUNIT_TEST( testInsertPathDontThrowIfInvalid );
+  CPPUNIT_TEST( testRootConstructor );
+  CPPUNIT_TEST( testPathSliceConstructorCopyUntilEnd );
+  CPPUNIT_TEST( testPathSliceConstructorCopySpecifiedCount );
+  CPPUNIT_TEST( testPathSliceConstructorCopyNone );
+  CPPUNIT_TEST( testPathSliceConstructorNegativeIndex );
+  CPPUNIT_TEST( testPathSliceConstructorAfterEndIndex );
+  CPPUNIT_TEST( testPathSliceConstructorNegativeIndexUntilEnd );
+  CPPUNIT_TEST( testPathSliceConstructorNegativeIndexNone );
+  CPPUNIT_TEST( testToStringNoTest );
+  CPPUNIT_TEST( testToStringOneTest );
+  CPPUNIT_TEST( testToStringHierarchy );
+  CPPUNIT_TEST( testPathStringConstructorRoot );
+  CPPUNIT_TEST( testPathStringConstructorEmptyIsRoot );
+  CPPUNIT_TEST( testPathStringConstructorHierarchy );
+  CPPUNIT_TEST_EXCEPTION( testPathStringConstructorBadRootThrow, std::invalid_argument );
+  CPPUNIT_TEST( testPathStringConstructorRelativeRoot );
+  CPPUNIT_TEST( testPathStringConstructorRelativeRoot2 );
+  CPPUNIT_TEST_EXCEPTION( testPathStringConstructorThrow1, std::invalid_argument );
+  CPPUNIT_TEST( testPathStringConstructorRelativeHierarchy );
+  CPPUNIT_TEST_EXCEPTION( testPathStringConstructorBadRelativeHierarchyThrow, std::invalid_argument );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  /*! Constructs a TestPathTest object.
+   */
+  TestPathTest();
+
+  /// Destructor.
+  virtual ~TestPathTest();
+
+  void setUp();
+  void tearDown();
+
+  void testDefaultConstructor();
+  void testAddTest();
+  void testGetTestAtThrow1();
+  void testGetTestAtThrow2();
+  void testGetChildTest();
+  void testGetChildTestManyTests();
+  void testGetChildTestThrowIfNotValid();
+
+  void testAddPath();
+  void testAddInvalidPath();
+
+  void testRemoveTests();
+  void testRemoveTest();
+  void testRemoveTestThrow1();
+  void testRemoveTestThrow2();
+  void testUp();
+  void testUpThrow();
+
+  void testInsert();
+  void testInsertAtEnd();
+  void testInsertThrow1();
+  void testInsertThrow2();
+
+  void testInsertPath();
+  void testInsertPathThrow();
+  void testInsertPathDontThrowIfInvalid();
+
+  void testRootConstructor();
+  void testPathSliceConstructorCopyUntilEnd();
+  void testPathSliceConstructorCopySpecifiedCount();
+  void testPathSliceConstructorCopyNone();
+  void testPathSliceConstructorNegativeIndex();
+  void testPathSliceConstructorAfterEndIndex();
+  void testPathSliceConstructorNegativeIndexUntilEnd();
+  void testPathSliceConstructorNegativeIndexNone();
+
+  void testToStringNoTest();
+  void testToStringOneTest();
+  void testToStringHierarchy();
+
+  void testPathStringConstructorRoot();
+  void testPathStringConstructorEmptyIsRoot();
+  void testPathStringConstructorHierarchy();
+  void testPathStringConstructorBadRootThrow();
+  void testPathStringConstructorRelativeRoot();
+  void testPathStringConstructorRelativeRoot2();
+  void testPathStringConstructorThrow1();
+  void testPathStringConstructorRelativeHierarchy();
+  void testPathStringConstructorBadRelativeHierarchyThrow();
+
+private:
+  /// Prevents the use of the copy constructor.
+  TestPathTest( const TestPathTest &copy );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const TestPathTest &copy );
+
+private:
+  CPPUNIT_NS::TestPath *m_path;
+  CPPUNIT_NS::TestCase *m_test1;
+  CPPUNIT_NS::TestCase *m_test2;
+  CPPUNIT_NS::TestCase *m_test3;
+  CPPUNIT_NS::TestCase *m_test4;
+  CPPUNIT_NS::TestSuite *m_suite1;
+  CPPUNIT_NS::TestSuite *m_suite2;
+  CPPUNIT_NS::TestCase *m_testSuite2a;
+  CPPUNIT_NS::TestCase *m_testSuite2b;
+};
+
+
+
+#endif  // TESTPATHTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultCollectorTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultCollectorTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultCollectorTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,297 @@
+#include "CoreSuite.h"
+#include "TestResultCollectorTest.h"
+
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestResultCollectorTest,
+                                       coreSuiteName() );
+
+
+TestResultCollectorTest::TestResultCollectorTest()
+{
+}
+
+
+TestResultCollectorTest::~TestResultCollectorTest()
+{
+}
+
+
+void 
+TestResultCollectorTest::setUp()
+{
+  m_lockCount = 0;
+  m_unlockCount = 0;
+  m_result = new CPPUNIT_NS::TestResultCollector();
+  m_synchronizedResult = new SynchronizedTestResult( this );  
+  m_test = new CPPUNIT_NS::TestCase();
+  m_test2 = new CPPUNIT_NS::TestCase();
+}
+
+
+void 
+TestResultCollectorTest::tearDown()
+{
+  delete m_test2;
+  delete m_test;
+  delete m_synchronizedResult;
+  delete m_result;
+}
+
+
+void 
+TestResultCollectorTest::testConstructor()
+{
+  checkResult( 0, 0, 0 );
+}
+
+
+void 
+TestResultCollectorTest::testAddTwoErrors()
+{
+  CPPUNIT_NS::Message errorMessage1( "First Error" );
+  CPPUNIT_NS::Message errorMessage2( "Second Error" );
+  {
+    CPPUNIT_NS::TestFailure failure1( m_test, 
+                                   new CPPUNIT_NS::Exception( errorMessage1 ),
+                                   true );
+    m_result->addFailure( failure1 );
+
+    CPPUNIT_NS::TestFailure failure2( m_test2, 
+                                   new CPPUNIT_NS::Exception( errorMessage2 ),
+                                   true );
+    m_result->addFailure( failure2 );
+  } // ensure that the test result duplicate the failures.
+
+  checkResult( 0, 2, 0 );
+  checkFailure( m_result->failures()[0],
+                errorMessage1,
+                m_test,
+                true );
+  checkFailure( m_result->failures()[1],
+                errorMessage2,
+                m_test2,
+                true );
+}
+
+
+void 
+TestResultCollectorTest::testAddTwoFailures()
+{
+  CPPUNIT_NS::Message errorMessage1( "First Failure" );
+  CPPUNIT_NS::Message errorMessage2( "Second Failure" );
+  {
+    CPPUNIT_NS::TestFailure failure1( m_test, 
+                                   new CPPUNIT_NS::Exception( errorMessage1 ),
+                                   false );
+    m_result->addFailure( failure1 );
+
+    CPPUNIT_NS::TestFailure failure2( m_test2, 
+                                   new CPPUNIT_NS::Exception( errorMessage2 ),
+                                   false );
+    m_result->addFailure( failure2 );
+  } // ensure that the test result duplicate the failures.
+  checkResult( 2, 0, 0 );
+  checkFailure( m_result->failures()[0],
+                errorMessage1,
+                m_test,
+                false );
+  checkFailure( m_result->failures()[1],
+                errorMessage2,
+                m_test2,
+                false );
+}
+
+
+void 
+TestResultCollectorTest::testStartTest()
+{
+  m_result->startTest( m_test );
+  m_result->startTest( m_test );
+  checkResult( 0, 0, 2 );
+}
+
+
+void 
+TestResultCollectorTest::testWasSuccessfulWithNoTest()
+{
+  checkWasSuccessful( true );
+}
+
+
+void 
+TestResultCollectorTest::testWasSuccessfulWithErrors()
+{
+  addError( "Error1" );
+  addError( "Error2" );
+  checkWasSuccessful( false );
+}
+
+
+void 
+TestResultCollectorTest::testWasSuccessfulWithFailures()
+{
+  addFailure( "Failure1" );
+  addFailure( "Failure2" );
+  checkWasSuccessful( false );
+}
+
+
+void 
+TestResultCollectorTest::testWasSuccessfulWithErrorsAndFailures()
+{
+  addError( "Error1" );
+  addFailure( "Failure2" );
+  checkWasSuccessful( false );
+}
+
+
+void 
+TestResultCollectorTest::testWasSuccessfulWithSuccessfulTest()
+{
+  m_result->startTest( m_test );
+  m_result->endTest( m_test );
+  m_result->startTest( m_test2 );
+  m_result->endTest( m_test2 );
+  checkWasSuccessful( true );
+}
+
+
+void 
+TestResultCollectorTest::testSynchronizationAddFailure()
+{
+  addFailure( "Failure1", m_test, false, m_synchronizedResult );
+  checkSynchronization();
+}
+
+
+void 
+TestResultCollectorTest::testSynchronizationStartTest()
+{
+  m_synchronizedResult->startTest( m_test );
+  checkSynchronization();
+}
+
+
+void 
+TestResultCollectorTest::testSynchronizationRunTests()
+{
+  m_synchronizedResult->runTests();
+  checkSynchronization();
+}
+
+
+void 
+TestResultCollectorTest::testSynchronizationTestErrors()
+{
+  m_synchronizedResult->testErrors();
+  checkSynchronization();
+}
+
+
+void 
+TestResultCollectorTest::testSynchronizationTestFailures()
+{
+  m_synchronizedResult->testFailures();
+  checkSynchronization();
+}
+
+
+void 
+TestResultCollectorTest::testSynchronizationFailures()
+{
+  m_synchronizedResult->failures();
+  checkSynchronization();
+}
+
+
+void 
+TestResultCollectorTest::testSynchronizationWasSuccessful()
+{
+  m_synchronizedResult->wasSuccessful();
+  checkSynchronization();
+}
+
+
+void 
+TestResultCollectorTest::checkResult( int failures,
+                             int errors,
+                             int testsRun )
+{
+  CPPUNIT_ASSERT_EQUAL( testsRun, m_result->runTests() );
+  CPPUNIT_ASSERT_EQUAL( errors, m_result->testErrors() );
+  CPPUNIT_ASSERT_EQUAL( failures, m_result->testFailures() );
+  CPPUNIT_ASSERT_EQUAL( errors + failures, 
+                        m_result->testFailuresTotal() );
+}
+
+
+void
+TestResultCollectorTest::checkFailure( CPPUNIT_NS::TestFailure *failure,
+                                       CPPUNIT_NS::Message expectedMessage,
+                                       CPPUNIT_NS::Test *expectedTest,
+                                       bool expectedIsError )
+{
+  CPPUNIT_NS::Message actualMessage( failure->thrownException()->message() );
+  CPPUNIT_ASSERT( expectedMessage == actualMessage );
+  CPPUNIT_ASSERT_EQUAL( expectedTest, failure->failedTest() );
+  CPPUNIT_ASSERT_EQUAL( expectedIsError, failure->isError() );
+}
+
+
+void 
+TestResultCollectorTest::checkWasSuccessful( bool shouldBeSuccessful )
+{
+  CPPUNIT_ASSERT_EQUAL( shouldBeSuccessful, m_result->wasSuccessful() );
+}
+
+
+void 
+TestResultCollectorTest::locked()
+{
+  CPPUNIT_ASSERT_EQUAL( m_lockCount, m_unlockCount );
+  ++m_lockCount;
+}
+
+
+void 
+TestResultCollectorTest::unlocked()
+{
+  ++m_unlockCount;
+  CPPUNIT_ASSERT_EQUAL( m_lockCount, m_unlockCount );
+}
+
+
+void 
+TestResultCollectorTest::checkSynchronization()
+{
+  CPPUNIT_ASSERT_EQUAL( m_lockCount, m_unlockCount );
+  CPPUNIT_ASSERT( m_lockCount > 0 );
+}
+
+
+void 
+TestResultCollectorTest::addFailure( std::string message )
+{
+  addFailure( message, m_test, false, m_result );
+}
+
+
+void 
+TestResultCollectorTest::addError( std::string message )
+{
+  addFailure( message, m_test, true, m_result );
+}
+
+
+void 
+TestResultCollectorTest::addFailure( std::string message, 
+                                     CPPUNIT_NS::Test *failedTest, 
+                                     bool isError,
+                                     CPPUNIT_NS::TestResultCollector *result )
+{
+  CPPUNIT_NS::TestFailure failure( failedTest, 
+                                new CPPUNIT_NS::Exception( CPPUNIT_NS::Message( message ) ), 
+                                isError );
+  result->addFailure( failure );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultCollectorTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultCollectorTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultCollectorTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,96 @@
+#ifndef TESTCOLLECTORRESULTTEST_H
+#define TESTCOLLECTORRESULTTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/TestFailure.h>
+#include "SynchronizedTestResult.h"
+
+
+class TestResultCollectorTest : public CPPUNIT_NS::TestFixture,
+                       public SynchronizedTestResult::SynchronizationObjectListener
+{
+  CPPUNIT_TEST_SUITE( TestResultCollectorTest );
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testAddTwoErrors );
+  CPPUNIT_TEST( testAddTwoFailures );
+  CPPUNIT_TEST( testStartTest );
+  CPPUNIT_TEST( testWasSuccessfulWithErrors );
+  CPPUNIT_TEST( testWasSuccessfulWithFailures );
+  CPPUNIT_TEST( testWasSuccessfulWithErrorsAndFailures );
+  CPPUNIT_TEST( testWasSuccessfulWithSuccessfulTest );
+  CPPUNIT_TEST( testSynchronizationAddFailure );
+  CPPUNIT_TEST( testSynchronizationStartTest );
+  CPPUNIT_TEST( testSynchronizationRunTests );
+  CPPUNIT_TEST( testSynchronizationTestErrors );
+  CPPUNIT_TEST( testSynchronizationTestFailures );
+  CPPUNIT_TEST( testSynchronizationFailures );
+  CPPUNIT_TEST( testSynchronizationWasSuccessful );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  TestResultCollectorTest();
+  virtual ~TestResultCollectorTest();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  void testConstructor();
+
+  void testAddTwoErrors();
+  void testAddTwoFailures();
+  void testStartTest();
+
+  void testWasSuccessfulWithNoTest();
+  void testWasSuccessfulWithErrors();
+  void testWasSuccessfulWithFailures();
+  void testWasSuccessfulWithErrorsAndFailures();
+  void testWasSuccessfulWithSuccessfulTest();
+
+  void testSynchronizationAddFailure();
+  void testSynchronizationStartTest();
+  void testSynchronizationRunTests();
+  void testSynchronizationTestErrors();
+  void testSynchronizationTestFailures();
+  void testSynchronizationErrors();
+  void testSynchronizationFailures();
+  void testSynchronizationWasSuccessful();
+
+  virtual void locked();
+  virtual void unlocked();
+
+private:
+  TestResultCollectorTest( const TestResultCollectorTest &copy );
+  void operator =( const TestResultCollectorTest &copy );
+
+  void checkResult( int failures,
+                    int errors,
+                    int testsRun );
+
+  void checkFailure( CPPUNIT_NS::TestFailure *failure,
+                     CPPUNIT_NS::Message expectedMessage,
+                     CPPUNIT_NS::Test *expectedTest,
+                     bool expectedIsError );
+
+  void checkWasSuccessful( bool shouldBeSuccessful );
+
+  void checkSynchronization();
+
+  void addFailure( std::string message );
+  void addError( std::string message );
+  void addFailure( std::string message, 
+                   CPPUNIT_NS::Test *failedTest, 
+                   bool isError,
+                   CPPUNIT_NS::TestResultCollector *result );
+
+private:
+  CPPUNIT_NS::TestResultCollector *m_result;
+  SynchronizedTestResult *m_synchronizedResult;  
+  CPPUNIT_NS::Test *m_test;
+  CPPUNIT_NS::Test *m_test2;
+  int m_lockCount;
+  int m_unlockCount;
+};
+
+
+
+#endif  // TESTCOLLECTORRESULTTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,268 @@
+#include "CoreSuite.h"
+#include "MockFunctor.h"
+#include "MockProtector.h"
+#include "MockTestCase.h"
+#include "TestResultTest.h"
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestResultTest,
+                                       coreSuiteName() );
+
+
+TestResultTest::TestResultTest()
+{
+}
+
+
+TestResultTest::~TestResultTest()
+{
+}
+
+
+void 
+TestResultTest::setUp()
+{
+  m_result = new CPPUNIT_NS::TestResult();
+  m_listener1 = new MockTestListener( "listener1" );
+  m_listener2 = new MockTestListener( "listener2" );
+  m_dummyTest = new MockTestCase( "dummy-test" );
+}
+
+
+void 
+TestResultTest::tearDown()
+{
+  delete m_dummyTest;
+  delete m_listener1;
+  delete m_listener2;
+  delete m_result;
+}
+
+
+void 
+TestResultTest::testConstructor()
+{
+  CPPUNIT_ASSERT( !m_result->shouldStop() );
+}
+
+
+void 
+TestResultTest::testStop()
+{
+  m_result->stop();
+  CPPUNIT_ASSERT( m_result->shouldStop() );
+}
+
+
+void 
+TestResultTest::testAddError()
+{
+  CPPUNIT_NS::Exception *dummyException = new CPPUNIT_NS::Exception( 
+                                           CPPUNIT_NS::Message( "some_error" ) );
+  m_listener1->setExpectFailure( m_dummyTest, dummyException, true );
+  m_result->addListener( m_listener1 );
+
+  m_result->addError( m_dummyTest, dummyException );
+
+  m_listener1->verify();
+}
+
+
+void 
+TestResultTest::testAddFailure()
+{
+  CPPUNIT_NS::Exception *dummyException = new CPPUNIT_NS::Exception( 
+                                            CPPUNIT_NS::Message("some_error" ) );
+  m_listener1->setExpectFailure( m_dummyTest, dummyException, false );
+  m_result->addListener( m_listener1 );
+
+  m_result->addFailure( m_dummyTest, dummyException );
+
+  m_listener1->verify();
+}
+
+
+void 
+TestResultTest::testStartTest()
+{
+  m_listener1->setExpectStartTest( m_dummyTest );
+  m_result->addListener( m_listener1 );
+  
+  m_result->startTest( m_dummyTest );
+
+  m_listener1->verify();
+}
+
+
+void 
+TestResultTest::testEndTest()
+{
+  m_listener1->setExpectEndTest( m_dummyTest );
+  m_result->addListener( m_listener1 );
+  
+  m_result->endTest( m_dummyTest );
+
+  m_listener1->verify();
+}
+
+
+void 
+TestResultTest::testStartSuite()
+{
+  m_listener1->setExpectStartSuite( m_dummyTest );
+  m_result->addListener( m_listener1 );
+  
+  m_result->startSuite( m_dummyTest );
+
+  m_listener1->verify();
+}
+
+
+void 
+TestResultTest::testEndSuite()
+{
+  m_listener1->setExpectEndSuite( m_dummyTest );
+  m_result->addListener( m_listener1 );
+  
+  m_result->endSuite( m_dummyTest );
+
+  m_listener1->verify();
+}
+
+
+void 
+TestResultTest::testRunTest()
+{
+  m_listener1->setExpectStartTestRun( m_dummyTest, m_result );
+  m_listener1->setExpectEndTestRun( m_dummyTest, m_result );
+  m_result->addListener( m_listener1 );
+  
+  m_result->runTest( m_dummyTest );
+
+  m_listener1->verify();
+}
+
+
+void 
+TestResultTest::testTwoListener()
+{
+  m_listener1->setExpectStartTest( m_dummyTest );
+  m_listener2->setExpectStartTest( m_dummyTest );
+  CPPUNIT_NS::Exception *dummyException1 = new CPPUNIT_NS::Exception( 
+                                             CPPUNIT_NS::Message( "some_error" ) );
+  m_listener1->setExpectFailure( m_dummyTest, dummyException1, true );
+  m_listener2->setExpectFailure( m_dummyTest, dummyException1, true );
+  m_listener1->setExpectEndTest( m_dummyTest );
+  m_listener2->setExpectEndTest( m_dummyTest );
+  m_result->addListener( m_listener1 );
+  m_result->addListener( m_listener2 );
+
+  m_result->startTest( m_dummyTest );
+  m_result->addError( m_dummyTest, dummyException1 );
+  m_result->endTest( m_dummyTest );
+
+  m_listener1->verify();
+  m_listener2->verify();
+}
+
+
+void 
+TestResultTest::testDefaultProtectSucceed()
+{
+  MockFunctor functor;
+  functor.setShouldSucceed();
+  m_listener1->setExpectNoFailure();
+
+  m_result->addListener( m_listener1 );
+  CPPUNIT_ASSERT( m_result->protect( functor, m_dummyTest ) );
+  m_listener1->verify();
+  functor.verify();
+}
+
+
+void 
+TestResultTest::testDefaultProtectFail()
+{
+  MockFunctor functor;
+  functor.setShouldFail();
+  m_listener1->setExpectNoFailure();
+
+  m_result->addListener( m_listener1 );
+  CPPUNIT_ASSERT( !m_result->protect( functor, m_dummyTest ) );
+  m_listener1->verify();
+  functor.verify();
+}
+
+
+void 
+TestResultTest::testDefaultProtectFailIfThrow()
+{
+  MockFunctor functor;
+  functor.setThrowFailureException();
+  m_listener1->setExpectFailure();
+
+  m_result->addListener( m_listener1 );
+  CPPUNIT_ASSERT( !m_result->protect( functor, m_dummyTest ) );
+  m_listener1->verify();
+  functor.verify();
+}
+
+
+void 
+TestResultTest::testProtectChainPushOneTrap()
+{
+  MockFunctor functor;
+  MockProtector *protector = new MockProtector();
+  functor.setThrowMockProtectorException();
+  protector->setExpectException();
+  m_listener1->setExpectFailure();
+
+  m_result->pushProtector( protector );
+  m_result->addListener( m_listener1 );
+  CPPUNIT_ASSERT( !m_result->protect( functor, m_dummyTest ) );
+  protector->verify();
+  m_listener1->verify();
+  functor.verify();
+}
+
+
+void 
+TestResultTest::testProtectChainPushOnePassThrough()
+{
+  MockFunctor functor;
+  MockProtector *protector = new MockProtector();
+  functor.setThrowFailureException();
+  protector->setExpectNoException();
+  m_listener1->setExpectFailure();
+
+  m_result->pushProtector( protector );
+  m_result->addListener( m_listener1 );
+  CPPUNIT_ASSERT( !m_result->protect( functor, m_dummyTest ) );
+  protector->verify();
+  m_listener1->verify();
+  functor.verify();
+}
+
+
+void 
+TestResultTest::testProtectChainPushTwoTrap()
+{
+  MockFunctor functor;
+  functor.setThrowMockProtectorException();
+  // protector1 catch the exception retrown by protector2
+  MockProtector *protector1 = new MockProtector();
+  protector1->setExpectException();
+  // protector2 catch the exception and rethrow it
+  MockProtector *protector2 = new MockProtector();
+  protector2->setExpectCatchAndPropagateException();
+  m_listener1->setExpectFailure();
+
+  m_result->pushProtector( protector1 );
+  m_result->pushProtector( protector2 );
+  m_result->addListener( m_listener1 );
+  CPPUNIT_ASSERT( !m_result->protect( functor, m_dummyTest ) );
+  protector1->verify();
+  protector2->verify();
+  m_listener1->verify();
+  functor.verify();
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestResultTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,72 @@
+#ifndef TESTRESULTTEST_H
+#define TESTRESULTTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/TestResult.h>
+#include "MockTestListener.h"
+
+
+class TestResultTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( TestResultTest );
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testStop );
+  CPPUNIT_TEST( testAddError );
+  CPPUNIT_TEST( testAddFailure );
+  CPPUNIT_TEST( testStartTest );
+  CPPUNIT_TEST( testEndTest );
+  CPPUNIT_TEST( testStartSuite );
+  CPPUNIT_TEST( testEndSuite );
+  CPPUNIT_TEST( testRunTest );
+  CPPUNIT_TEST( testTwoListener );
+  CPPUNIT_TEST( testDefaultProtectSucceed );
+  CPPUNIT_TEST( testDefaultProtectFail );
+  CPPUNIT_TEST( testDefaultProtectFailIfThrow );
+  CPPUNIT_TEST( testProtectChainPushOneTrap );
+  CPPUNIT_TEST( testProtectChainPushOnePassThrough );
+  CPPUNIT_TEST( testProtectChainPushTwoTrap );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  TestResultTest();
+  virtual ~TestResultTest();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  void testConstructor();
+  void testStop();
+
+  void testAddError();
+  void testAddFailure();
+  void testStartTest();
+  void testEndTest();
+  void testStartSuite();
+  void testEndSuite();
+  void testRunTest();
+
+  void testTwoListener();
+
+  void testDefaultProtectSucceed();
+  void testDefaultProtectFail();
+  void testDefaultProtectFailIfThrow();
+
+  void testProtectChainPushOneTrap();
+  void testProtectChainPushOnePassThrough();
+
+  void testProtectChainPushTwoTrap();
+
+private:
+  TestResultTest( const TestResultTest &copy );
+  void operator =( const TestResultTest &copy );
+
+private:
+  CPPUNIT_NS::TestResult *m_result;
+  MockTestListener *m_listener1;
+  MockTestListener *m_listener2;
+  CPPUNIT_NS::Test *m_dummyTest;
+};
+
+
+
+#endif  // TESTRESULTTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSetUpTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSetUpTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSetUpTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,47 @@
+#include "ExtensionSuite.h"
+#include "TestSetUpTest.h"
+#include <cppunit/TestResult.h>
+#include "MockTestCase.h"
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestSetUpTest,
+                                       extensionSuiteName() );
+
+
+TestSetUpTest::TestSetUpTest()
+{
+}
+
+
+TestSetUpTest::~TestSetUpTest()
+{
+}
+
+
+void 
+TestSetUpTest::setUp()
+{
+}
+
+
+void 
+TestSetUpTest::tearDown()
+{
+}
+
+
+void 
+TestSetUpTest::testRun()
+{
+  CPPUNIT_NS::TestResult result;
+  MockTestCase *test = new MockTestCase( "TestSetUpTest" );
+  test->setExpectedSetUpCall();
+  test->setExpectedRunTestCall();
+  test->setExpectedTearDownCall();
+  MockSetUp setUpTest( test );
+  
+  setUpTest.run( &result );
+
+  setUpTest.verify();
+  test->verify();
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSetUpTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSetUpTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSetUpTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,63 @@
+#ifndef TESTSETUPTEST_H
+#define TESTSETUPTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/extensions/TestSetUp.h>
+
+
+class TestSetUpTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( TestSetUpTest );
+  CPPUNIT_TEST( testRun );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  TestSetUpTest();
+  virtual ~TestSetUpTest();
+
+  void setUp();
+  void tearDown();
+
+  void testRun();
+
+private:
+  class MockSetUp : public CPPUNIT_NS::TestSetUp
+  {
+  public:
+    MockSetUp( CPPUNIT_NS::Test *test )
+        : CPPUNIT_NS::TestSetUp( test )
+        , m_setUpCalled( false )
+        , m_tearDownCalled( false )
+    {
+    }
+
+    void setUp() 
+    {
+      m_setUpCalled = true;
+    }
+
+    void tearDown()
+    {
+      m_tearDownCalled = true;
+    }
+
+    void verify()
+    {
+      CPPUNIT_ASSERT( m_setUpCalled );
+      CPPUNIT_ASSERT( m_tearDownCalled );
+    }
+
+  private:
+    bool m_setUpCalled;
+    bool m_tearDownCalled;
+  };
+
+  TestSetUpTest( const TestSetUpTest &copy );
+  void operator =( const TestSetUpTest &copy );
+
+private:
+};
+
+
+
+#endif  // TESTSETUPTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSuiteTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSuiteTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSuiteTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,179 @@
+#include "CoreSuite.h"
+#include "TestSuiteTest.h"
+#include <cppunit/TestResult.h>
+#include "MockTestCase.h"
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestSuiteTest,
+                                       coreSuiteName() );
+
+
+TestSuiteTest::TestSuiteTest()
+{
+}
+
+
+TestSuiteTest::~TestSuiteTest()
+{
+}
+
+
+void 
+TestSuiteTest::setUp()
+{
+  m_suite = new CPPUNIT_NS::TestSuite();
+}
+
+
+void 
+TestSuiteTest::tearDown()
+{
+  delete m_suite;
+}
+
+
+void 
+TestSuiteTest::testConstructor()
+{
+  std::string name( "MySuite" );
+  CPPUNIT_NS::TestSuite suite( name );
+  CPPUNIT_ASSERT_EQUAL( name, suite.getName() );
+}
+
+
+void 
+TestSuiteTest::testCountTestCasesWithNoTest()
+{
+  CPPUNIT_ASSERT_EQUAL( 0, m_suite->countTestCases() );
+}
+
+
+void 
+TestSuiteTest::testCountTestCasesWithTwoTests()
+{
+  MockTestCase *case1 = new MockTestCase( "test1" );
+  case1->setExpectedCountTestCasesCall();
+  MockTestCase *case2 = new MockTestCase( "test2" );
+  case2->setExpectedCountTestCasesCall();
+  m_suite->addTest( case1 );
+  m_suite->addTest( case2 );
+
+  CPPUNIT_ASSERT_EQUAL( 2, m_suite->countTestCases() );
+  case1->verify();
+  case2->verify();
+}
+
+
+void 
+TestSuiteTest::testCountTestCasesWithSubSuite()
+{
+  MockTestCase *case1 = new MockTestCase( "test1" );
+  case1->setExpectedCountTestCasesCall();
+  MockTestCase *case2 = new MockTestCase( "test2" );
+  case2->setExpectedCountTestCasesCall();
+  MockTestCase *case3 = new MockTestCase( "test3" );
+  case3->setExpectedCountTestCasesCall();
+  CPPUNIT_NS::TestSuite *subSuite = new CPPUNIT_NS::TestSuite( "SubSuite");
+  subSuite->addTest( case1 );
+  subSuite->addTest( case2 );
+  m_suite->addTest( case3 );
+  m_suite->addTest( subSuite );
+
+  CPPUNIT_ASSERT_EQUAL( 3, m_suite->countTestCases() );
+  case1->verify();
+  case2->verify();
+  case3->verify();
+}
+
+
+void 
+TestSuiteTest::testRunWithOneTest()
+{
+  MockTestCase *case1 = new MockTestCase( "test1" );
+  case1->setExpectedRunTestCall();
+  m_suite->addTest( case1 );
+
+  CPPUNIT_NS::TestResult result;
+  m_suite->run( &result );
+
+  case1->verify();
+}
+
+
+void 
+TestSuiteTest::testRunWithOneTestAndSubSuite()
+{
+  MockTestCase *case1 = new MockTestCase( "test1" );
+  case1->setExpectedRunTestCall();
+  MockTestCase *case2 = new MockTestCase( "test2" );
+  case2->setExpectedRunTestCall();
+  MockTestCase *case3 = new MockTestCase( "test3" );
+  case3->setExpectedRunTestCall();
+  CPPUNIT_NS::TestSuite *subSuite = new CPPUNIT_NS::TestSuite( "SubSuite");
+  subSuite->addTest( case1 );
+  subSuite->addTest( case2 );
+  m_suite->addTest( case3 );
+  m_suite->addTest( subSuite);
+
+  CPPUNIT_NS::TestResult result;
+  m_suite->run( &result );
+
+  case1->verify();
+  case2->verify();
+  case3->verify();
+}
+
+
+void 
+TestSuiteTest::testGetTests()
+{
+  m_suite->addTest( new CPPUNIT_NS::TestCase( "test1" ) );
+  m_suite->addTest( new CPPUNIT_NS::TestCase( "test2" ) );
+  CPPUNIT_ASSERT_EQUAL( 2, int(m_suite->getTests().size()) );
+}
+
+
+void 
+TestSuiteTest::testDeleteContents()
+{
+  m_suite->addTest( new CPPUNIT_NS::TestCase( "test2" ) );
+  m_suite->deleteContents();
+  CPPUNIT_ASSERT_EQUAL( 0, int(m_suite->getTests().size()) );
+}
+
+
+void 
+TestSuiteTest::testGetChildTestCount()
+{
+  m_suite->addTest( new CPPUNIT_NS::TestCase( "test1" ) );
+  m_suite->addTest( new CPPUNIT_NS::TestCase( "test2" ) );
+
+  CPPUNIT_ASSERT_EQUAL( 2, m_suite->getChildTestCount() );
+}
+
+
+void 
+TestSuiteTest::testGetChildTestAt()
+{
+  CPPUNIT_NS::TestCase *test1 = new CPPUNIT_NS::TestCase( "test1" );
+  CPPUNIT_NS::TestCase *test2 = new CPPUNIT_NS::TestCase( "test2" );
+  m_suite->addTest( test1 );
+  m_suite->addTest( test2 );
+
+  CPPUNIT_ASSERT( test1 == m_suite->getChildTestAt(0) );
+  CPPUNIT_ASSERT( test2 == m_suite->getChildTestAt(1) );
+}
+
+
+void 
+TestSuiteTest::testGetChildTestAtThrow1()
+{
+  m_suite->getChildTestAt(-1);
+}
+
+
+void 
+TestSuiteTest::testGetChildTestAtThrow2()
+{
+  m_suite->getChildTestAt(0);
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSuiteTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSuiteTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestSuiteTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,60 @@
+#ifndef TESTSUITETEST_H
+#define TESTSUITETEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <stdexcept>
+
+
+class TestSuiteTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( TestSuiteTest );
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testCountTestCasesWithNoTest );
+  CPPUNIT_TEST( testCountTestCasesWithTwoTests );
+  CPPUNIT_TEST( testCountTestCasesWithSubSuite );
+  CPPUNIT_TEST( testRunWithOneTest );
+  CPPUNIT_TEST( testRunWithOneTestAndSubSuite );
+  CPPUNIT_TEST( testGetTests );
+  CPPUNIT_TEST( testDeleteContents );
+  CPPUNIT_TEST( testGetChildTestCount );
+  CPPUNIT_TEST( testGetChildTestAt );
+  CPPUNIT_TEST_EXCEPTION( testGetChildTestAtThrow1, std::out_of_range );
+  CPPUNIT_TEST_EXCEPTION( testGetChildTestAtThrow2, std::out_of_range );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  TestSuiteTest();
+  virtual ~TestSuiteTest();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  void testConstructor();
+
+  void testCountTestCasesWithNoTest();
+  void testCountTestCasesWithTwoTests();
+  void testCountTestCasesWithSubSuite();
+
+  void testRunWithOneTest();
+  void testRunWithOneTestAndSubSuite();
+
+  void testGetTests();
+
+  void testDeleteContents();
+
+  void testGetChildTestCount();
+  void testGetChildTestAt();
+  void testGetChildTestAtThrow1();
+  void testGetChildTestAtThrow2();
+
+private:
+  TestSuiteTest( const TestSuiteTest &copy );
+  void operator =( const TestSuiteTest &copy );
+
+private:
+  CPPUNIT_NS::TestSuite *m_suite;
+};
+
+
+
+#endif  // TESTSUITETEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,133 @@
+#include "CoreSuite.h"
+#include "TestTest.h"
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestTest,
+                                       coreSuiteName() );
+
+
+TestTest::TestTest() : 
+    CPPUNIT_NS::TestFixture()
+{
+}
+
+
+TestTest::~TestTest()
+{
+}
+
+
+void 
+TestTest::setUp()
+{
+  m_suite = new CPPUNIT_NS::TestSuite( "suite" );
+  m_test1 = new MockTestCase( "test1" );
+  m_test2 = new MockTestCase( "test2" );
+  m_suite->addTest( m_test1 );
+  m_suite->addTest( m_test2 );
+  
+  m_path = new CPPUNIT_NS::TestPath();
+}
+
+
+void 
+TestTest::tearDown()
+{
+  delete m_suite;
+  delete m_path;
+}
+
+
+void 
+TestTest::testFindTestPathPointerThis()
+{
+  CPPUNIT_ASSERT( m_test1->findTestPath( m_test1, *m_path ) );
+  CPPUNIT_ASSERT_EQUAL( 1, m_path->getTestCount() );
+  CPPUNIT_ASSERT( m_test1 == m_path->getChildTest() );
+
+  m_path->removeTests();
+
+  CPPUNIT_ASSERT( m_suite->findTestPath( m_suite, *m_path ) );
+  CPPUNIT_ASSERT_EQUAL( 1, m_path->getTestCount() );
+  CPPUNIT_ASSERT( m_suite == m_path->getChildTest() );
+}
+
+
+void 
+TestTest::testFindTestPathPointer()
+{
+  CPPUNIT_ASSERT( m_suite->findTestPath( m_test1, *m_path ) );
+  CPPUNIT_ASSERT_EQUAL( 2, m_path->getTestCount() );
+  CPPUNIT_ASSERT( m_suite == m_path->getTestAt(0) );
+  CPPUNIT_ASSERT( m_test1 == m_path->getTestAt(1) );
+}
+
+
+void 
+TestTest::testFindTestPathPointerFail()
+{
+  MockTestCase test( "test" );
+  CPPUNIT_ASSERT( !m_suite->findTestPath( &test, *m_path ) );
+  CPPUNIT_ASSERT( !m_path->isValid() );
+}
+
+
+void 
+TestTest::testFindTestPathNameThis()
+{
+  CPPUNIT_ASSERT( m_test1->findTestPath( "test1", *m_path ) );
+  CPPUNIT_ASSERT_EQUAL( 1, m_path->getTestCount() );
+  CPPUNIT_ASSERT( m_test1 == m_path->getChildTest() );
+
+  m_path->removeTests();
+
+  CPPUNIT_ASSERT( m_suite->findTestPath( "suite", *m_path ) );
+  CPPUNIT_ASSERT_EQUAL( 1, m_path->getTestCount() );
+  CPPUNIT_ASSERT( m_suite == m_path->getChildTest() );
+}
+
+
+void 
+TestTest::testFindTestPathName()
+{
+  CPPUNIT_ASSERT( m_suite->findTestPath( "test2", *m_path ) );
+  CPPUNIT_ASSERT_EQUAL( 2, m_path->getTestCount() );
+  CPPUNIT_ASSERT( m_suite == m_path->getTestAt(0) );
+  CPPUNIT_ASSERT( m_test2 == m_path->getTestAt(1) );
+}
+
+
+void 
+TestTest::testFindTestPathNameFail()
+{
+  CPPUNIT_ASSERT( !m_suite->findTestPath( "bad-test", *m_path ) );
+  CPPUNIT_ASSERT( !m_path->isValid() );
+}
+
+
+void 
+TestTest::testFindTest()
+{
+  CPPUNIT_ASSERT( m_test1 == m_suite->findTest( "test1" ) );
+}
+
+
+void 
+TestTest::testFindTestThrow()
+{
+  m_suite->findTest( "no-name" );
+}
+
+
+void 
+TestTest::testResolveTestPath()
+{
+  CPPUNIT_NS::TestPath path1 = m_suite->resolveTestPath( "suite");
+  CPPUNIT_ASSERT_EQUAL( 1, path1.getTestCount() );
+  CPPUNIT_ASSERT( m_suite == path1.getTestAt(0) );
+
+  CPPUNIT_NS::TestPath path2 = m_suite->resolveTestPath( "suite/test2");
+  CPPUNIT_ASSERT_EQUAL( 2, path2.getTestCount() );
+  CPPUNIT_ASSERT( m_suite == path2.getTestAt(0) );
+  CPPUNIT_ASSERT( m_test2 == path2.getTestAt(1) );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TestTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,67 @@
+#ifndef TESTTEST_H
+#define TESTTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/TestSuite.h>
+#include <cppunit/TestPath.h>
+#include "MockTestCase.h"
+#include <stdexcept>
+
+
+/*! \class TestTest
+ * \brief Unit test for class Test.
+ */
+class TestTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( TestTest );
+  CPPUNIT_TEST( testFindTestPathPointerThis );
+  CPPUNIT_TEST( testFindTestPathPointer );
+  CPPUNIT_TEST( testFindTestPathPointerFail );
+  CPPUNIT_TEST( testFindTestPathNameThis );
+  CPPUNIT_TEST( testFindTestPathName );
+  CPPUNIT_TEST( testFindTestPathNameFail );
+  CPPUNIT_TEST( testFindTest );
+  CPPUNIT_TEST_EXCEPTION( testFindTestThrow, std::invalid_argument );
+  CPPUNIT_TEST( testResolveTestPath );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  /*! Constructs a TestTest object.
+   */
+  TestTest();
+
+  /// Destructor.
+  virtual ~TestTest();
+
+  void setUp();
+  void tearDown();
+
+  void testFindTestPathPointerThis();
+  void testFindTestPathPointer();
+  void testFindTestPathPointerFail();
+
+  void testFindTestPathNameThis();
+  void testFindTestPathName();
+  void testFindTestPathNameFail();
+
+  void testFindTest();
+  void testFindTestThrow();
+
+  void testResolveTestPath();
+
+private:
+  /// Prevents the use of the copy constructor.
+  TestTest( const TestTest &copy );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const TestTest &copy );
+
+private:
+  CPPUNIT_NS::TestSuite *m_suite;
+  MockTestCase *m_test1;
+  MockTestCase *m_test2;
+  CPPUNIT_NS::TestPath *m_path;
+};
+
+
+#endif  // TESTTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ToolsSuite.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ToolsSuite.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/ToolsSuite.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,12 @@
+#ifndef CPPUNITTEST_TOOLSSUITE_H
+#define CPPUNITTEST_TOOLSSUITE_H
+
+#include <cppunit/Portability.h>
+#include <string>
+
+inline std::string toolsSuiteName()
+{
+  return "Tools";
+}
+
+#endif // CPPUNITTEST_TOOLSSUITE_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TrackedTestCase.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TrackedTestCase.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TrackedTestCase.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,55 @@
+#include "TrackedTestCase.h"
+
+Tracker *TrackedTestCase::ms_tracker = NULL;
+
+TrackedTestCase::TrackedTestCase()
+: CPPUNIT_NS::TestCase( "" )
+{
+  if ( ms_tracker != NULL )
+    ms_tracker->onConstructor();
+}
+
+
+TrackedTestCase::~TrackedTestCase()
+{
+  if ( ms_tracker != NULL )
+    ms_tracker->onDestructor();
+}
+
+
+void 
+TrackedTestCase::setUp()
+{
+  if ( ms_tracker != NULL )
+    ms_tracker->onSetUp();
+}
+
+
+void 
+TrackedTestCase::tearDown()
+{
+  if ( ms_tracker != NULL )
+    ms_tracker->onTearDown();
+}
+
+
+void 
+TrackedTestCase::test()
+{
+  if ( ms_tracker != NULL )
+    ms_tracker->onTest();
+}
+
+
+void 
+TrackedTestCase::setTracker( Tracker *tracker )
+{
+  ms_tracker = tracker;
+}
+
+
+void 
+TrackedTestCase::removeTracker()
+{
+  ms_tracker = NULL;
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TrackedTestCase.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TrackedTestCase.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/TrackedTestCase.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,45 @@
+#ifndef TRACKEDTESTCASE_H
+#define TRACKEDTESTCASE_H
+
+#include <cppunit/TestCase.h>
+
+
+class Tracker
+{
+public:
+  virtual ~Tracker() {}
+
+  virtual void onConstructor() {}
+  virtual void onDestructor() {}
+  virtual void onSetUp() {}
+  virtual void onTearDown() {}
+  virtual void onTest() {};
+};
+
+
+class TrackedTestCase : public CPPUNIT_NS::TestCase
+{
+public:
+  TrackedTestCase();
+
+  virtual ~TrackedTestCase();
+
+  virtual void setUp();
+  virtual void tearDown();
+
+  void test();
+
+  static void setTracker( Tracker *tracker );
+  static void removeTracker();
+
+private:
+  TrackedTestCase( const TrackedTestCase &copy );
+
+  void operator =( const TrackedTestCase &copy );
+
+private:
+  static Tracker *ms_tracker;
+};
+
+
+#endif  // TRACKEDTESTCASE_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/UnitTestToolSuite.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/UnitTestToolSuite.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/UnitTestToolSuite.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,12 @@
+#ifndef CPPUNITTEST_UNITTESTTOOLSUITE_H
+#define CPPUNITTEST_UNITTESTTOOLSUITE_H
+
+#include <cppunit/Portability.h>
+#include <string>
+
+inline std::string unitTestToolSuiteName()
+{
+  return "UnitTestTool";
+}
+
+#endif // CPPUNITTEST_UNITTESTTOOLSUITE_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlElementTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlElementTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlElementTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,225 @@
+#include <cppunit/tools/XmlElement.h>
+#include "ToolsSuite.h"
+#include "XmlElementTest.h"
+#include "XmlUniformiser.h"
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( XmlElementTest, 
+                                       toolsSuiteName() );
+
+
+XmlElementTest::XmlElementTest()
+{
+}
+
+
+XmlElementTest::~XmlElementTest()
+{
+}
+
+
+void 
+XmlElementTest::setUp()
+{
+}
+
+
+void 
+XmlElementTest::tearDown()
+{
+}
+
+
+void 
+XmlElementTest::testStringContentConstructor()
+{
+  CPPUNIT_NS::XmlElement element( "aName", "someContent" );
+  CPPUNIT_ASSERT_EQUAL( std::string("aName"), element.name() );
+  CPPUNIT_ASSERT_EQUAL( std::string("someContent"), element.content() );
+}
+
+
+void 
+XmlElementTest::testNumericContentConstructor()
+{
+  CPPUNIT_NS::XmlElement element( "numericName", 123456789 );
+  CPPUNIT_ASSERT_EQUAL( std::string("numericName"), element.name() );
+  CPPUNIT_ASSERT_EQUAL( std::string("123456789"), element.content() );
+}
+
+
+void 
+XmlElementTest::testSetName()
+{
+  CPPUNIT_NS::XmlElement element( "aName" );
+  element.setName( "anotherName" );
+  CPPUNIT_ASSERT_EQUAL( std::string("anotherName"), element.name() );
+}
+
+
+void 
+XmlElementTest::testSetStringContent()
+{
+  CPPUNIT_NS::XmlElement element( "aName", "someContent" );
+  element.setContent( "other" );
+  CPPUNIT_ASSERT_EQUAL( std::string("other"), element.content() );
+}
+
+
+void 
+XmlElementTest::testSetNumericContent()
+{
+  CPPUNIT_NS::XmlElement element( "aName", "someContent" );
+  element.setContent( 87654321 );
+  CPPUNIT_ASSERT_EQUAL( std::string("87654321"), element.content() );
+}
+
+
+void 
+XmlElementTest::testElementCount()
+{
+  CPPUNIT_NS::XmlElement node( "element", "content" );
+  CPPUNIT_ASSERT_EQUAL( 0, node.elementCount() );
+
+  node.addElement( new CPPUNIT_NS::XmlElement( "child1" ) );
+  node.addElement( new CPPUNIT_NS::XmlElement( "child2" ) );
+  CPPUNIT_ASSERT_EQUAL( 2, node.elementCount() );
+}
+
+
+void 
+XmlElementTest::testElementAtNegativeIndexThrow()
+{
+  CPPUNIT_NS::XmlElement node( "element" );
+  node.elementAt( -1 );
+}
+
+
+void 
+XmlElementTest::testElementAtTooLargeIndexThrow()
+{
+  CPPUNIT_NS::XmlElement node( "element" );
+  node.elementAt( 0 );
+}
+
+
+void 
+XmlElementTest::testElementAt()
+{
+  CPPUNIT_NS::XmlElement node( "element" );
+  CPPUNIT_NS::XmlElement *element1 = new CPPUNIT_NS::XmlElement( "element1" );
+  CPPUNIT_NS::XmlElement *element2 = new CPPUNIT_NS::XmlElement( "element2" );
+  node.addElement( element1 );
+  node.addElement( element2 );
+
+  CPPUNIT_ASSERT( element1 == node.elementAt(0) );
+  CPPUNIT_ASSERT( element2 == node.elementAt(1) );
+}
+
+
+void 
+XmlElementTest::testElementForThrow()
+{
+  CPPUNIT_NS::XmlElement node( "element" );
+  node.addElement( new CPPUNIT_NS::XmlElement( "element1" ) );
+  node.elementFor( "name2" );
+}
+
+
+void 
+XmlElementTest::testElementFor()
+{
+  CPPUNIT_NS::XmlElement node( "element" );
+  CPPUNIT_NS::XmlElement *element1 = new CPPUNIT_NS::XmlElement( "element1" );
+  CPPUNIT_NS::XmlElement *element2 = new CPPUNIT_NS::XmlElement( "element2" );
+  node.addElement( element1 );
+  node.addElement( element2 );
+
+  CPPUNIT_ASSERT( element2 == node.elementFor( "element2" ) );
+  CPPUNIT_ASSERT( element1 == node.elementFor( "element1" ) );
+}
+
+
+void 
+XmlElementTest::testEmptyNodeToString()
+{
+  CPPUNIT_NS::XmlElement node( "element" );
+  std::string expectedXml = "<element></element>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
+}
+
+
+void 
+XmlElementTest::testElementWithAttributesToString()
+{
+  CPPUNIT_NS::XmlElement node( "element" );
+  node.addAttribute( "id", 17 );
+  node.addAttribute( "date-format", "iso-8901" );
+  std::string expectedXml = "<element id=\"17\" "
+                            "date-format=\"iso-8901\">"
+                            "</element>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
+}
+
+
+void 
+XmlElementTest::testEscapedAttributeValueToString()
+{
+  CPPUNIT_NS::XmlElement node( "element" );
+  node.addAttribute( "escaped", "&<>\"'" );
+  std::string expectedXml = "<element escaped=\""
+                            "&<>"'"
+                            "\"></element>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
+}
+
+
+void 
+XmlElementTest::testElementToStringEscapeContent()
+{
+  CPPUNIT_NS::XmlElement node( "element", "ChessTest<class Chess>" );
+  std::string expectedXml = "<element>"
+                            "ChessTest<class Chess>"
+                            "</element>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
+}
+
+
+void 
+XmlElementTest::testElementWithChildrenToString()
+{
+  CPPUNIT_NS::XmlElement node( "element" );
+  node.addElement( new CPPUNIT_NS::XmlElement( "child1" ) );
+  node.addElement( new CPPUNIT_NS::XmlElement( "child2" ) );
+  std::string expectedXml = "<element><child1></child1>"
+                            "<child2></child2></element>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
+}
+
+
+void 
+XmlElementTest::testElementWithContentToString()
+{
+  CPPUNIT_NS::XmlElement node( "element", "content\nline2" );
+  std::string expectedXml = "<element>content\nline2</element>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
+}
+
+
+void 
+XmlElementTest::testElementWithNumericContentToString()
+{
+  CPPUNIT_NS::XmlElement node( "element", 123456789 );
+  std::string expectedXml = "<element>123456789</element>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
+}
+
+
+void 
+XmlElementTest::testElementWithContentAndChildToString()
+{
+  CPPUNIT_NS::XmlElement node( "element", "content" );
+  node.addElement( new CPPUNIT_NS::XmlElement( "child1" ) );
+  std::string expectedXml = "<element><child1></child1>content</element>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, node.toString() );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlElementTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlElementTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlElementTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,77 @@
+#ifndef CPPUNITEST_XMLELEMENTTEST_H
+#define CPPUNITEST_XMLELEMENTTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <stdexcept>
+
+
+/*! Unit tests for XmlElement.
+ */
+class XmlElementTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( XmlElementTest );
+  CPPUNIT_TEST( testStringContentConstructor );
+  CPPUNIT_TEST( testNumericContentConstructor );
+  CPPUNIT_TEST( testSetName );
+  CPPUNIT_TEST( testSetStringContent );
+  CPPUNIT_TEST( testSetNumericContent );
+  CPPUNIT_TEST( testElementCount );
+  CPPUNIT_TEST_EXCEPTION( testElementAtNegativeIndexThrow, std::invalid_argument );
+  CPPUNIT_TEST_EXCEPTION( testElementAtTooLargeIndexThrow, std::invalid_argument );
+  CPPUNIT_TEST( testElementAt );
+  CPPUNIT_TEST_EXCEPTION( testElementForThrow, std::invalid_argument );
+  CPPUNIT_TEST( testElementFor );
+
+  CPPUNIT_TEST( testEmptyNodeToString );
+  CPPUNIT_TEST( testElementWithAttributesToString );
+  CPPUNIT_TEST( testEscapedAttributeValueToString );
+  CPPUNIT_TEST( testElementToStringEscapeContent );
+  CPPUNIT_TEST( testElementWithChildrenToString );
+  CPPUNIT_TEST( testElementWithContentToString );
+  CPPUNIT_TEST( testElementWithNumericContentToString );
+  CPPUNIT_TEST( testElementWithContentAndChildToString );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  /*! Constructs a XmlElementTest object.
+   */
+  XmlElementTest();
+
+  /// Destructor.
+  virtual ~XmlElementTest();
+
+  void setUp();
+  void tearDown();
+
+  void testStringContentConstructor();
+  void testNumericContentConstructor();
+  void testSetName();
+  void testSetStringContent();
+  void testSetNumericContent();
+  void testElementCount();
+  void testElementAtNegativeIndexThrow();
+  void testElementAtTooLargeIndexThrow();
+  void testElementAt();
+  void testElementForThrow();
+  void testElementFor();
+
+  void testEmptyNodeToString();
+  void testElementWithAttributesToString();
+  void testEscapedAttributeValueToString();
+  void testElementToStringEscapeContent();
+  void testElementWithChildrenToString();
+  void testElementWithContentToString();
+  void testElementWithNumericContentToString();
+  void testElementWithContentAndChildToString();
+
+private:
+  /// Prevents the use of the copy constructor.
+  XmlElementTest( const XmlElementTest &copy );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const XmlElementTest &copy );
+};
+
+
+
+#endif  // CPPUNITEST_XMLELEMENTTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlOutputterTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlOutputterTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlOutputterTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,355 @@
+#include <cppunit/XmlOutputter.h>
+#include <cppunit/TestFailure.h>
+#include <cppunit/XmlOutputter.h>
+#include <cppunit/XmlOutputterHook.h>
+#include "OutputSuite.h"
+#include "XmlOutputterTest.h"
+#include "XmlUniformiser.h"
+
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( XmlOutputterTest, 
+                                       outputSuiteName() );
+
+
+XmlOutputterTest::XmlOutputterTest()
+{
+}
+
+
+XmlOutputterTest::~XmlOutputterTest()
+{
+}
+
+
+void 
+XmlOutputterTest::setUp()
+{
+  m_dummyTests.clear();
+  m_result = new CPPUNIT_NS::TestResultCollector();
+}
+
+
+void 
+XmlOutputterTest::tearDown()
+{
+  delete m_result;
+  for ( unsigned int index =0; index < m_dummyTests.size(); ++index )
+    delete m_dummyTests[index];
+  m_dummyTests.clear();
+}
+
+
+void 
+XmlOutputterTest::testWriteXmlResultWithNoTest()
+{
+  CPPUNIT_NS::OStringStream stream;
+  CPPUNIT_NS::XmlOutputter outputter( m_result, stream );
+  outputter.write();
+
+  std::string actualXml = stream.str();
+  std::string expectedXml = 
+    "<TestRun>"
+      "<FailedTests></FailedTests>"
+      "<SuccessfulTests></SuccessfulTests>"
+      "<Statistics>"
+        "<Tests>0</Tests>"
+        "<FailuresTotal>0</FailuresTotal>"
+        "<Errors>0</Errors>"
+        "<Failures>0</Failures>"
+      "</Statistics>"
+    "</TestRun>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, actualXml );
+}
+
+
+void 
+XmlOutputterTest::testWriteXmlResultWithOneFailure()
+{
+  addTestFailure( "test1", "message failure1", CPPUNIT_NS::SourceLine( "test.cpp", 3 ) );
+
+  CPPUNIT_NS::OStringStream stream;
+  CPPUNIT_NS::XmlOutputter outputter( m_result, stream );
+  outputter.write();
+
+  std::string actualXml = stream.str();
+  std::string expectedXml = 
+    "<TestRun>"
+      "<FailedTests>"
+        "<FailedTest id=\"1\">"
+          "<Name>test1</Name>"
+          "<FailureType>Assertion</FailureType>"
+          "<Location>"
+            "<File>test.cpp</File>"
+            "<Line>3</Line>"
+          "</Location>"
+          "<Message>message failure1</Message>"
+        "</FailedTest>"
+      "</FailedTests>"
+      "<SuccessfulTests></SuccessfulTests>"
+      "<Statistics>"
+        "<Tests>1</Tests>"
+        "<FailuresTotal>1</FailuresTotal>"
+        "<Errors>0</Errors>"
+        "<Failures>1</Failures>"
+      "</Statistics>"
+    "</TestRun>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, actualXml );
+}
+
+
+void 
+XmlOutputterTest::testWriteXmlResultWithOneError()
+{
+  addTestError( "test1", "message error1" );
+
+  CPPUNIT_NS::OStringStream stream;
+  CPPUNIT_NS::XmlOutputter outputter( m_result, stream );
+  outputter.write();
+
+  std::string actualXml = stream.str();
+  std::string expectedXml = 
+    "<TestRun>"
+      "<FailedTests>"
+        "<FailedTest id=\"1\">"
+          "<Name>test1</Name>"
+          "<FailureType>Error</FailureType>"
+          "<Message>message error1</Message>"
+        "</FailedTest>"
+      "</FailedTests>"
+      "<SuccessfulTests></SuccessfulTests>"
+      "<Statistics>"
+        "<Tests>1</Tests>"
+        "<FailuresTotal>1</FailuresTotal>"
+        "<Errors>1</Errors>"
+        "<Failures>0</Failures>"
+      "</Statistics>"
+    "</TestRun>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, actualXml );
+}
+
+
+void 
+XmlOutputterTest::testWriteXmlResultWithOneSuccess()
+{
+  addTest( "test1" );
+
+  CPPUNIT_NS::OStringStream stream;
+  CPPUNIT_NS::XmlOutputter outputter( m_result, stream );
+  outputter.write();
+
+  std::string actualXml = stream.str();
+  std::string expectedXml = 
+    "<TestRun>"
+      "<FailedTests></FailedTests>"
+      "<SuccessfulTests>"
+        "<Test id=\"1\">"
+          "<Name>test1</Name>"
+        "</Test>"
+      "</SuccessfulTests>"
+      "<Statistics>"
+        "<Tests>1</Tests>"
+        "<FailuresTotal>0</FailuresTotal>"
+        "<Errors>0</Errors>"
+        "<Failures>0</Failures>"
+      "</Statistics>"
+    "</TestRun>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, actualXml );
+}
+
+
+void 
+XmlOutputterTest::testWriteXmlResultWithThreeFailureTwoErrorsAndTwoSuccess()
+{
+  addTestFailure( "test1", "failure1" );
+  addTestError( "test2", "error1" );
+  addTestFailure( "test3", "failure2" );
+  addTestFailure( "test4", "failure3" );
+  addTest( "test5" );
+  addTestError( "test6", "error2" );
+  addTest( "test7" );
+
+  CPPUNIT_NS::OStringStream stream;
+  CPPUNIT_NS::XmlOutputter outputter( m_result, stream );
+  outputter.write();
+
+  std::string actualXml = stream.str();
+  std::string expectedXml = 
+    "<TestRun>"
+       "<FailedTests>"
+        "<FailedTest id=\"1\">"
+          "<Name>test1</Name>"
+          "<FailureType>Assertion</FailureType>"
+          "<Message>failure1</Message>"
+        "</FailedTest>"
+        "<FailedTest id=\"2\">"
+          "<Name>test2</Name>"
+          "<FailureType>Error</FailureType>"
+          "<Message>error1</Message>"
+        "</FailedTest>"
+        "<FailedTest id=\"3\">"
+          "<Name>test3</Name>"
+          "<FailureType>Assertion</FailureType>"
+          "<Message>failure2</Message>"
+        "</FailedTest>"
+        "<FailedTest id=\"4\">"
+          "<Name>test4</Name>"
+          "<FailureType>Assertion</FailureType>"
+          "<Message>failure3</Message>"
+        "</FailedTest>"
+        "<FailedTest id=\"6\">"
+          "<Name>test6</Name>"
+          "<FailureType>Error</FailureType>"
+          "<Message>error2</Message>"
+        "</FailedTest>"
+      "</FailedTests>"
+     "<SuccessfulTests>"
+        "<Test id=\"5\">"
+          "<Name>test5</Name>"
+        "</Test>"
+        "<Test id=\"7\">"
+          "<Name>test7</Name>"
+        "</Test>"
+      "</SuccessfulTests>"
+      "<Statistics>"
+        "<Tests>7</Tests>"
+        "<FailuresTotal>5</FailuresTotal>"
+        "<Errors>2</Errors>"
+        "<Failures>3</Failures>"
+      "</Statistics>"
+    "</TestRun>";
+  CPPUNITTEST_ASSERT_XML_EQUAL( expectedXml, actualXml );
+}
+
+
+class XmlOutputterTest::MockHook : public CPPUNIT_NS::XmlOutputterHook
+{
+public:
+  MockHook( int &beginCalls,
+            int &endCalls,
+            int &statisticsCalls,
+            int &successfulTestCalls,
+            int &failedTestCalls )
+      : m_successfulTestCalls( successfulTestCalls )
+      , m_failedTestCalls( failedTestCalls )
+      , m_beginCalls( beginCalls )
+      , m_endCalls( endCalls )
+      , m_statisticsCalls( statisticsCalls )
+  {
+  }
+
+  void beginDocument( CPPUNIT_NS::XmlDocument *document )
+  {
+    ++m_beginCalls;
+  }
+
+  void endDocument( CPPUNIT_NS::XmlDocument *document )
+  {
+    ++m_endCalls;
+  }
+
+  void failTestAdded( CPPUNIT_NS::XmlDocument *document,
+                      CPPUNIT_NS::XmlElement *testElement,
+                      CPPUNIT_NS::Test *test,
+                      CPPUNIT_NS::TestFailure *failure )
+  {
+    ++m_failedTestCalls;
+  }
+
+  void successfulTestAdded( CPPUNIT_NS::XmlDocument *document,
+                            CPPUNIT_NS::XmlElement *testElement,
+                            CPPUNIT_NS::Test *test )
+  {
+    ++m_successfulTestCalls;
+  }
+
+  void statisticsAdded( CPPUNIT_NS::XmlDocument *document,
+                        CPPUNIT_NS::XmlElement *statisticsElement )
+  {
+    ++m_statisticsCalls;
+  }
+
+private:
+  int &m_beginCalls;
+  int &m_endCalls;
+  int &m_statisticsCalls;
+  int &m_successfulTestCalls;
+  int &m_failedTestCalls;
+};
+
+
+void 
+XmlOutputterTest::testHook()
+{
+  int begin =0, end =0, statistics =0, successful =0, failed =0;
+  MockHook hook( begin, end, statistics, successful, failed );
+
+  addTest( "test1" );
+  addTest( "test2" );
+  addTest( "test3" );
+  addTestFailure( "testfail1", "assertion failed" );
+  addTestError( "testerror1", "exception" );
+
+  CPPUNIT_NS::OStringStream stream;
+  CPPUNIT_NS::XmlOutputter outputter( m_result, stream );
+  outputter.addHook( &hook );
+  outputter.write();
+
+  CPPUNIT_ASSERT_EQUAL( 1, begin );
+  CPPUNIT_ASSERT_EQUAL( 1, end );
+  CPPUNIT_ASSERT_EQUAL( 1, statistics );
+  CPPUNIT_ASSERT_EQUAL( 3, successful );
+  CPPUNIT_ASSERT_EQUAL( 2, failed );
+}
+
+
+void 
+XmlOutputterTest::addTest( std::string testName )
+{
+  CPPUNIT_NS::Test *test = makeDummyTest( testName );
+  m_result->startTest( test );
+  m_result->endTest( test );
+}
+
+
+void 
+XmlOutputterTest::addTestFailure( std::string testName,
+                                  std::string message,
+                                  CPPUNIT_NS::SourceLine sourceLine )
+{
+  addGenericTestFailure( testName, CPPUNIT_NS::Message(message), sourceLine, false );
+}
+
+
+void 
+XmlOutputterTest::addTestError( std::string testName,
+                                std::string message,
+                                CPPUNIT_NS::SourceLine sourceLine )
+{
+  addGenericTestFailure( testName, CPPUNIT_NS::Message(message), sourceLine, true );
+}
+
+
+void 
+XmlOutputterTest::addGenericTestFailure(  std::string testName,
+                                          CPPUNIT_NS::Message message,
+                                          CPPUNIT_NS::SourceLine sourceLine,
+                                          bool isError )
+{
+  CPPUNIT_NS::Test *test = makeDummyTest( testName );
+  m_result->startTest( test );
+  CPPUNIT_NS::TestFailure failure( test, 
+                                new CPPUNIT_NS::Exception( message, sourceLine ),
+                                isError );
+  m_result->addFailure( failure );
+  m_result->endTest( test );
+}
+
+
+CPPUNIT_NS::Test *
+XmlOutputterTest::makeDummyTest( std::string testName )
+{
+  CPPUNIT_NS::Test *test = new CPPUNIT_NS::TestCase( testName );
+  m_dummyTests.push_back( test );
+  return test;
+}
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlOutputterTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlOutputterTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlOutputterTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,78 @@
+#ifndef CPPUNITEST_XMLTESTRESULTOUTPUTTERTEST_H
+#define CPPUNITEST_XMLTESTRESULTOUTPUTTERTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/portability/CppUnitDeque.h>
+#include <cppunit/Test.h>
+#include <cppunit/TestFailure.h>
+#include <cppunit/TestResultCollector.h>
+
+
+/*! \class XmlOutputterTest
+ * \brief Unit tests for XmlOutputter.
+ */
+class XmlOutputterTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( XmlOutputterTest );
+  CPPUNIT_TEST( testWriteXmlResultWithNoTest );
+  CPPUNIT_TEST( testWriteXmlResultWithOneFailure );
+  CPPUNIT_TEST( testWriteXmlResultWithOneError );
+  CPPUNIT_TEST( testWriteXmlResultWithOneSuccess );
+  CPPUNIT_TEST( testWriteXmlResultWithThreeFailureTwoErrorsAndTwoSuccess );
+  CPPUNIT_TEST( testHook );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  /*! Constructs a XmlOutputterTest object.
+   */
+  XmlOutputterTest();
+
+  /// Destructor.
+  virtual ~XmlOutputterTest();
+
+  void setUp();
+  void tearDown();
+  void testWriteXmlResultWithNoTest();
+  void testWriteXmlResultWithOneFailure();
+  void testWriteXmlResultWithOneError();
+  void testWriteXmlResultWithOneSuccess();
+  void testWriteXmlResultWithThreeFailureTwoErrorsAndTwoSuccess();
+
+  void testHook();
+
+private:
+  class MockHook;
+
+  /// Prevents the use of the copy constructor.
+  XmlOutputterTest( const XmlOutputterTest &copy );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const XmlOutputterTest &copy );
+
+  std::string statistics( int tests, 
+                          int total, 
+                          int error, 
+                          int failure );
+
+  void addTest( std::string testName );
+  void addTestFailure( std::string testName,
+                       std::string message,
+                       CPPUNIT_NS::SourceLine sourceLine = CPPUNIT_NS::SourceLine() );
+  void addTestError( std::string testName,
+                     std::string message,
+                     CPPUNIT_NS::SourceLine sourceLine = CPPUNIT_NS::SourceLine() );
+  void addGenericTestFailure( std::string testName,
+                              CPPUNIT_NS::Message message,
+                              CPPUNIT_NS::SourceLine sourceLine,
+                              bool isError );
+
+  CPPUNIT_NS::Test *makeDummyTest( std::string testName );
+
+private:
+  CPPUNIT_NS::TestResultCollector *m_result;
+  CppUnitDeque<CPPUNIT_NS::Test *> m_dummyTests;
+};
+
+
+
+#endif  // CPPUNITEST_XMLTESTRESULTOUTPUTTERTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiser.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiser.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiser.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,236 @@
+#include "XmlUniformiser.h"
+
+
+int 
+notEqualIndex( std::string expectedXml,
+               std::string actualXml )
+{
+  unsigned int index = 0;
+  while ( index < actualXml.length()  &&  
+          index < expectedXml.length()  &&
+          actualXml[index] == expectedXml[index] )
+    ++index;
+
+  return index;
+}
+
+
+/// Asserts that two XML string are equivalent.
+void 
+checkXmlEqual( std::string expectedXml,
+               std::string actualXml,
+               CPPUNIT_NS::SourceLine sourceLine )
+{
+  std::string expected = XmlUniformiser( expectedXml ).stripped();
+  std::string actual = XmlUniformiser( actualXml ).stripped();
+
+  if ( expected == actual )
+    return;
+
+  int index = notEqualIndex( expected, actual );
+  CPPUNIT_NS::OStringStream message;
+  message  <<  "differ at index: "  <<  index  << "\n"
+           <<  "expected: "  <<  expected.substr(index) << "\n"
+           <<  "but was : "  <<  actual.substr( index );
+  CPPUNIT_NS::Asserter::failNotEqual( expected,
+                                      actual,
+                                      sourceLine,
+                                      message.str() );
+}
+
+
+
+XmlUniformiser::XmlUniformiser( const std::string &xml ) :
+    m_xml( xml ),
+    m_index( 0 )
+{
+}
+
+
+std::string 
+XmlUniformiser::stripped()
+{
+  while ( isValidIndex() )
+  {
+    skipSpaces();
+    if ( startsWith( "<?" ) )
+      skipProcessed();
+    else if ( startsWith( "<!--" ) )
+      skipComment();
+    else if ( startsWith( "<" ) )
+      copyElement();
+    else
+      copyElementContent();
+  }
+  return m_stripped;
+}
+
+
+void 
+XmlUniformiser::skipSpaces()
+{
+  while ( isSpace() )
+    skipNext();
+}
+
+
+bool 
+XmlUniformiser::isSpace( char c )
+{
+  return c < 33;
+}
+
+
+bool 
+XmlUniformiser::isSpace()
+{
+  return isValidIndex()  &&  isSpace( m_xml[m_index] );
+}
+
+
+bool 
+XmlUniformiser::isValidIndex()
+{
+  return m_index < m_xml.length();
+}
+
+
+void 
+XmlUniformiser::skipNext( int count )
+{
+  while ( count-- > 0 )
+    ++m_index;
+}
+
+
+void 
+XmlUniformiser::copyNext( int count )
+{
+  while ( count-- > 0  &&  isValidIndex() )
+    m_stripped += m_xml[ m_index++ ];
+}
+
+
+bool 
+XmlUniformiser::startsWith( std::string expected )
+{
+  std::string actual = m_xml.substr( m_index, expected.length() );
+  return actual == expected;
+}
+
+
+void 
+XmlUniformiser::skipProcessed()
+{
+  while ( isValidIndex()  &&  !startsWith( "?>" ) )
+    skipNext();
+  if ( isValidIndex() )
+    skipNext( 2 );
+}
+
+
+void 
+XmlUniformiser::skipComment()
+{
+  while ( isValidIndex()  &&  !startsWith( "-->" ) )
+    skipNext();
+  if ( isValidIndex() )
+    skipNext( 3 );
+}
+
+
+void 
+XmlUniformiser::copyElement()
+{
+  copyElementName();
+  copyElementAttributes();
+}
+
+
+void 
+XmlUniformiser::copyElementName()
+{
+  while ( isValidIndex()  &&
+          !( isSpace()  ||  startsWith( ">" ) ) )
+    copyNext();
+}
+
+
+void 
+XmlUniformiser::copyElementAttributes()
+{
+  do
+  {
+    bool hadSpace = isSpace();
+    skipSpaces();
+    if ( startsWith( ">" ) )
+      break;
+
+    if ( hadSpace )
+      m_stripped += ' ';
+
+    copyAttributeName();
+    skipSpaces();
+    if ( startsWith( "=" ) )
+    {
+      copyNext();
+      copyAttributeValue();
+    }
+    else    // attribute should always be valued, ne ?
+      m_stripped += ' ';
+  }
+  while ( isValidIndex() );
+  copyNext();
+}
+
+
+void 
+XmlUniformiser::copyAttributeName()
+{
+  while ( isValidIndex()  &&  !isEndOfAttributeName() )
+    copyNext();
+}
+
+
+bool 
+XmlUniformiser::isEndOfAttributeName()
+{
+  return isSpace()  ||  startsWith( ">" )  ||  startsWith( "=" );
+}
+
+
+void 
+XmlUniformiser::copyAttributeValue()
+{
+  skipSpaces();
+  copyUntilDoubleQuote();
+  copyUntilDoubleQuote();
+}
+
+
+void 
+XmlUniformiser::copyUntilDoubleQuote()
+{
+  while ( isValidIndex()  &&  !startsWith("\"") )
+    copyNext();
+  copyNext();   // '"'
+}
+
+
+void 
+XmlUniformiser::copyElementContent()
+{
+  while ( isValidIndex()  &&  !startsWith( "<" ) )
+    copyNext();
+  removeTrailingSpaces();
+}
+
+
+void 
+XmlUniformiser::removeTrailingSpaces()
+{
+  int index = m_stripped.length();
+  while ( index-1 > 0  &&  isSpace( m_stripped[index-1] ) )
+    --index;
+  m_stripped.resize( index );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiser.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiser.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiser.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,63 @@
+#ifndef CPPUNITTEST_XMLUNIFORMISER_H
+#define CPPUNITTEST_XMLUNIFORMISER_H
+
+#include <cppunit/SourceLine.h>
+#include <cppunit/TestAssert.h>
+#include <string>
+
+
+/*! Uniformise an XML string.
+ *
+ * Strips spaces between attribut in Element.
+ * \warning Attribute values must be double-quoted (att="value").
+ * No support for embedded DTD declaration
+ */
+class XmlUniformiser
+{
+public:
+  XmlUniformiser( const std::string &xml );
+  std::string stripped();
+
+private:
+  void skipSpaces();
+  bool isValidIndex();
+  void skipNext( int count =1 );
+  void copyNext( int count =1 );
+  void skipProcessed();
+  void skipComment();
+  void copyElement();
+  void copyElementContent();
+  bool isSpace( char c );
+  bool isSpace();
+  bool startsWith( std::string expected );
+  void copyElementName();
+  void copyElementAttributes();
+  void copyAttributeName();
+  bool isEndOfAttributeName();
+  void copyAttributeValue();
+  void copyUntilDoubleQuote();
+  void removeTrailingSpaces();
+
+private:
+  unsigned int m_index;
+  std::string m_xml;
+  std::string m_stripped;
+};
+
+
+
+
+void 
+checkXmlEqual( std::string expectedXml,
+               std::string actualXml,
+               CPPUNIT_NS::SourceLine sourceLine );
+
+
+/// Asserts that two XML strings are equivalent.
+#define CPPUNITTEST_ASSERT_XML_EQUAL( expected, actual ) \
+    ::checkXmlEqual( expected, actual,      \
+                     CPPUNIT_SOURCELINE() )
+
+
+
+#endif  // XMLUNIFORMISER_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiserTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiserTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiserTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,144 @@
+#include <stdlib.h>
+#include "UnitTestToolSuite.h"
+#include "XmlUniformiserTest.h"
+#include "XmlUniformiser.h"
+
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( XmlUniformiserTest, 
+                                       unitTestToolSuiteName() );
+
+
+XmlUniformiserTest::XmlUniformiserTest()
+{
+}
+
+
+XmlUniformiserTest::~XmlUniformiserTest()
+{
+}
+
+
+void 
+XmlUniformiserTest::setUp()
+{
+}
+
+
+void 
+XmlUniformiserTest::tearDown()
+{
+}
+
+
+void 
+XmlUniformiserTest::testEmpty()
+{
+  check( "", "" );
+}
+
+
+void 
+XmlUniformiserTest::testSkipProcessed()
+{
+  check( "<?xml version=\"1.0\" encoding='ISO-8859-1' ?>",
+         "" );
+}
+
+
+void 
+XmlUniformiserTest::testOpenElementWithoutAttributeButSomeSpaces()
+{
+  check( "   <Test   >   ", 
+         "<Test>" );
+}
+
+
+void 
+XmlUniformiserTest::testOpenCloseElement()
+{
+  check( "  <TestName  >   </TestName  >  ",
+         "<TestName></TestName>" );
+}
+
+
+void 
+XmlUniformiserTest::testElementWithEmptyAttribute()
+{
+  check( "<TestName id=\"\">",
+         "<TestName id=\"\">" );
+}
+
+
+void 
+XmlUniformiserTest::testElementWithEmptyAttributeButSomeSpaces()
+{
+  check( "<TestName  id  = \"\" >",
+         "<TestName id=\"\">" );
+}
+
+
+void 
+XmlUniformiserTest::testElementWithOneAttribute()
+{
+  check( "<FailedTest id=\"123\">",
+         "<FailedTest id=\"123\">" );
+}
+
+
+void 
+XmlUniformiserTest::testElementWithThreeAttributes()
+{
+  check( "<FailedTest  id = \"7\" date-format= \"iso-8901\"  "
+                                           "style =\"debug\">",
+         "<FailedTest id=\"7\" date-format=\"iso-8901\" style=\"debug\">" );
+}
+
+
+void 
+XmlUniformiserTest::testElementWithContent()
+{
+  check( "<Element>\nContent\n</Element>\n",
+         "<Element>Content</Element>" );
+}
+
+
+void 
+XmlUniformiserTest::testElementsHierarchyWithContents()
+{
+  check( "<TestRuns date-format=\"iso-8901\">\n"
+            "<Date>2001-10-04</Date>\n"
+            "<FailedTests>\n<FailedTest>\n"
+            "<TestName>TokenParserTest</TestName>\n"
+            "</FailedTest>\n</Failedtests>\n</TestRuns>\n",
+         "<TestRuns date-format=\"iso-8901\">"
+            "<Date>2001-10-04</Date>"
+            "<FailedTests><FailedTest>"
+            "<TestName>TokenParserTest</TestName>"
+            "</FailedTest></Failedtests></TestRuns>" );
+}
+
+
+void 
+XmlUniformiserTest::testSkipComment()
+{
+  check( "<!-- skip comment-->",
+         "" );
+}
+
+
+void 
+XmlUniformiserTest::testAssertXmlEqual()
+{
+  CPPUNIT_ASSERT_ASSERTION_FAIL( 
+     CPPUNITTEST_ASSERT_XML_EQUAL( "<Test>", "<Tes>" ) );
+  CPPUNIT_ASSERT_ASSERTION_PASS( 
+     CPPUNITTEST_ASSERT_XML_EQUAL( "<Test>", "<Test>" ) );
+}
+
+
+void 
+XmlUniformiserTest::check( const std::string &xml, 
+                           const std::string &expectedStrippedXml )
+{
+  std::string actual = XmlUniformiser( xml ).stripped();
+  CPPUNIT_ASSERT_EQUAL( expectedStrippedXml, actual );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiserTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiserTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/cppunittest/XmlUniformiserTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,67 @@
+#ifndef XMLUNIFORMISERTEST_H
+#define XMLUNIFORMISERTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+
+
+/*! \class XmlUniformiserTest
+ * \brief Unit test for XmlUniformiser.
+ */
+class XmlUniformiserTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( XmlUniformiserTest );
+  CPPUNIT_TEST( testEmpty );
+  CPPUNIT_TEST( testSkipProcessed );
+  CPPUNIT_TEST( testOpenElementWithoutAttributeButSomeSpaces );
+  CPPUNIT_TEST( testOpenCloseElement );
+  CPPUNIT_TEST( testElementWithEmptyAttribute );
+  CPPUNIT_TEST( testElementWithEmptyAttributeButSomeSpaces );
+  CPPUNIT_TEST( testElementWithOneAttribute );
+  CPPUNIT_TEST( testElementWithThreeAttributes );
+  CPPUNIT_TEST( testSkipComment );
+  CPPUNIT_TEST( testElementWithContent );
+  CPPUNIT_TEST( testElementsHierarchyWithContents );
+  CPPUNIT_TEST( testAssertXmlEqual );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  /*! Constructs a XmlUniformiserTest object.
+   */
+  XmlUniformiserTest();
+
+  /// Destructor.
+  virtual ~XmlUniformiserTest();
+
+  void setUp();
+  void tearDown();
+
+  void testEmpty();
+  void testSkipProcessed();
+  void testOpenElementWithoutAttributeButSomeSpaces();
+  void testOpenCloseElement();
+  void testElementWithEmptyAttribute();
+  void testElementWithEmptyAttributeButSomeSpaces();
+  void testElementWithOneAttribute();
+  void testElementWithThreeAttributes();
+  void testSkipComment();
+  void testElementWithContent();
+  void testElementsHierarchyWithContents();
+
+  void testAssertXmlEqual();
+
+private:
+  void check( const std::string &xml, 
+              const std::string &expectedStrippedXml );
+
+  /// Prevents the use of the copy constructor.
+  XmlUniformiserTest( const XmlUniformiserTest &copy );
+
+  /// Prevents the use of the copy operator.
+  void operator =( const XmlUniformiserTest &copy );
+
+private:
+};
+
+
+
+#endif  // XMLUNIFORMISERTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/examples.dsw
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/examples.dsw	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/examples.dsw	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,254 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "ClockerPlugIn"=.\ClockerPlugIn\ClockerPlugIn.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit_dll
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CppUnitTestApp"=.\msvc6\CppUnitTestApp\CppUnitTestApp.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name TestRunner
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CppUnitTestMain"=.\cppunittest\CppUnitTestMain.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name cppunit_dll
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "CppUnitTestPlugIn"=.\cppunittest\CppUnitTestPlugIn.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit_dll
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DllPlugInTester"=..\src\DllPlugInTester\DllPlugInTester.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit_dll
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DllPlugInTesterTest"=..\src\DllPlugInTester\DllPlugInTesterTest.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "DumperPlugIn"=.\DumperPlugIn\DumperPlugIn.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit_dll
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "HostApp"=.\msvc6\HostApp\HostApp.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name TestRunner
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TestPlugInRunner"=..\src\msvc6\testpluginrunner\TestPlugInRunner.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit_dll
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TestRunner"=..\src\msvc6\testrunner\TestRunner.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "cppunit"=..\src\cppunit\cppunit.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "cppunit_dll"=..\src\cppunit\cppunit_dll.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "hierarchy"=.\hierarchy\hierarchy.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "money"=.\money\money.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "simple"=.\simple\simple.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "simple_plugin"=.\SIMPLE\simple_plugin.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit_dll
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name DllPlugInTester
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/examples.opt
===================================================================
(Binary files differ)


Property changes on: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/examples.opt
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/BoardGame.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/BoardGame.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/BoardGame.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,12 @@
+#include "BoardGame.h"
+
+bool
+BoardGame::reset()
+{
+  return true;
+}
+
+
+BoardGame::~BoardGame()
+{
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/BoardGame.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/BoardGame.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/BoardGame.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,18 @@
+#ifndef __BOARDGAME_H__
+#define __BOARDGAME_H__
+
+/** Example class to show hierarchy testing.
+ * 
+ *  Shamelessly ripped and adapted from
+ *  <a href="http://c2.com/cgi/wiki?ClassHierarchyTestingInCppUnit">
+ *  ClassHierarchyTestingInCppUnit</a>
+ *  
+ */
+class BoardGame {
+  public:
+    /// expected to return true
+    virtual bool reset();
+    virtual ~BoardGame();
+};
+
+#endif

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/BoardGameTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/BoardGameTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/BoardGameTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,49 @@
+#ifndef __BOARDGAMETEST_H__
+#define __BOARDGAMETEST_H__
+
+#include <cppunit/extensions/HelperMacros.h>
+#include <iostream>
+
+template<class GAMECLASS> 
+class BoardGameTest : public CPPUNIT_NS::TestFixture 
+{
+  CPPUNIT_TEST_SUITE( BoardGameTest );
+  CPPUNIT_TEST( testReset );
+  CPPUNIT_TEST( testResetShouldFail );
+  CPPUNIT_TEST_SUITE_END();
+protected:
+  GAMECLASS	*m_game;
+  
+public:
+  BoardGameTest()
+  {
+  }
+
+  int countTestCases () const
+  { 
+    return 1; 
+  }
+  
+  void setUp() 
+  { 
+    m_game = new GAMECLASS; 
+  }
+  
+  void tearDown()
+  { 
+    delete m_game; 
+  }
+  
+  void testReset() 
+  { 
+    CPPUNIT_ASSERT( m_game->reset() );
+  }
+
+  void testResetShouldFail() 
+  { 
+    std::cout << "The following test fails, this is intended:" << std::endl;
+    CPPUNIT_ASSERT( !m_game->reset() );
+  }
+};
+
+#endif

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Chess.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Chess.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Chess.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,7 @@
+#include "Chess.h"
+
+int 
+Chess::getNumberOfPieces() const
+{
+  return 32;
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Chess.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Chess.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Chess.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,11 @@
+#ifndef __CHESS_H__
+#define __CHESS_H__
+
+#include "BoardGame.h"
+
+class Chess: public BoardGame {
+  public:
+    virtual int getNumberOfPieces() const;
+};
+
+#endif

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/ChessTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/ChessTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/ChessTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,25 @@
+#ifndef __CHESSTEST_H__
+#define __CHESSTEST_H__
+
+#include "BoardGameTest.h"
+
+template<class GAMECLASS> 
+class ChessTest : public BoardGameTest<GAMECLASS> 
+{
+  CPPUNIT_TEST_SUB_SUITE( ChessTest, BoardGameTest<GAMECLASS> );
+  CPPUNIT_TEST( testNumberOfPieces );
+  CPPUNIT_TEST_SUITE_END();
+public:
+  ChessTest() 
+  {
+  }
+  
+  void testNumberOfPieces()
+  { 
+    CPPUNIT_ASSERT( m_game->getNumberOfPieces () == 32 );
+  }
+};
+
+
+
+#endif

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Makefile.am
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Makefile.am	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Makefile.am	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,19 @@
+EXTRA_DIST = hierarchy.dsw hierarchy.dsp
+
+TESTS = hierarchy
+check_PROGRAMS = $(TESTS)
+
+INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
+
+hierarchy_SOURCES= BoardGame.cpp \
+                   Chess.cpp \
+                   main.cpp \
+                   BoardGame.h \
+                   Chess.h \
+                   BoardGameTest.h \
+                   ChessTest.h
+
+hierarchy_LDADD= \
+  $(top_builddir)/src/cppunit/libcppunit.la 
+
+hierarchy_LDFLAGS = $(LIBADD_DL)

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Makefile.in
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Makefile.in	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/Makefile.in	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,531 @@
+# Makefile.in generated by automake 1.7.5 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPUNIT_BINARY_AGE = @CPPUNIT_BINARY_AGE@
+CPPUNIT_INTERFACE_AGE = @CPPUNIT_INTERFACE_AGE@
+CPPUNIT_MAJOR_VERSION = @CPPUNIT_MAJOR_VERSION@
+CPPUNIT_MICRO_VERSION = @CPPUNIT_MICRO_VERSION@
+CPPUNIT_MINOR_VERSION = @CPPUNIT_MINOR_VERSION@
+CPPUNIT_VERSION = @CPPUNIT_VERSION@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOC_FALSE = @DOC_FALSE@
+DOC_TRUE = @DOC_TRUE@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBADD_DL = @LIBADD_DL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+enable_dot = @enable_dot@
+enable_html_docs = @enable_html_docs@
+enable_latex_docs = @enable_latex_docs@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+EXTRA_DIST = hierarchy.dsw hierarchy.dsp
+
+TESTS = hierarchy
+check_PROGRAMS = $(TESTS)
+
+INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
+
+hierarchy_SOURCES = BoardGame.cpp \
+                   Chess.cpp \
+                   main.cpp \
+                   BoardGame.h \
+                   Chess.h \
+                   BoardGameTest.h \
+                   ChessTest.h
+
+
+hierarchy_LDADD = \
+  $(top_builddir)/src/cppunit/libcppunit.la 
+
+
+hierarchy_LDFLAGS = $(LIBADD_DL)
+subdir = examples/hierarchy
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config/config.h
+CONFIG_CLEAN_FILES =
+check_PROGRAMS = hierarchy$(EXEEXT)
+am_hierarchy_OBJECTS = BoardGame.$(OBJEXT) Chess.$(OBJEXT) \
+	main.$(OBJEXT)
+hierarchy_OBJECTS = $(am_hierarchy_OBJECTS)
+hierarchy_DEPENDENCIES = $(top_builddir)/src/cppunit/libcppunit.la
+
+DEFAULT_INCLUDES =  -I. -I$(srcdir) -I$(top_builddir)/config
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+ at AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/BoardGame.Po ./$(DEPDIR)/Chess.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/main.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
+	$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(hierarchy_SOURCES)
+DIST_COMMON = Makefile.am Makefile.in
+SOURCES = $(hierarchy_SOURCES)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  examples/hierarchy/Makefile
+Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+clean-checkPROGRAMS:
+	@list='$(check_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+hierarchy$(EXEEXT): $(hierarchy_OBJECTS) $(hierarchy_DEPENDENCIES) 
+	@rm -f hierarchy$(EXEEXT)
+	$(CXXLINK) $(hierarchy_LDFLAGS) $(hierarchy_OBJECTS) $(hierarchy_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/BoardGame.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Chess.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/main.Po at am__quote@
+
+distclean-depend:
+	-rm -rf ./$(DEPDIR)
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(ETAGS_ARGS)$$tags$$unique" \
+	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	     $$tags $$unique
+
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list='$(TESTS)'; \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *" $$tst "*) \
+	        xpass=`expr $$xpass + 1`; \
+	        failed=`expr $$failed + 1`; \
+	        echo "XPASS: $$tst"; \
+	      ;; \
+	      *) \
+	        echo "PASS: $$tst"; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *" $$tst "*) \
+	        xfail=`expr $$xfail + 1`; \
+	        echo "XFAIL: $$tst"; \
+	      ;; \
+	      *) \
+	        failed=`expr $$failed + 1`; \
+	        echo "FAIL: $$tst"; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      echo "SKIP: $$tst"; \
+	    fi; \
+	  done; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="All $$all tests passed"; \
+	    else \
+	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all tests failed"; \
+	    else \
+	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	    fi; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    skipped="($$skip tests were not run)"; \
+	    test `echo "$$skipped" | wc -c` -gt `echo "$$banner" | wc -c` && \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -gt `echo "$$banner" | wc -c` && \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  echo "$$dashes"; \
+	  echo "$$banner"; \
+	  test -n "$$skipped" && echo "$$skipped"; \
+	  test -n "$$report" && echo "$$report"; \
+	  echo "$$dashes"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkinstalldirs) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-compile distclean-depend \
+	distclean-generic distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+	clean-checkPROGRAMS clean-generic clean-libtool ctags distclean \
+	distclean-compile distclean-depend distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am info \
+	info-am install install-am install-data install-data-am \
+	install-exec install-exec-am install-info install-info-am \
+	install-man install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/hierarchy.dsp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/hierarchy.dsp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/hierarchy.dsp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,118 @@
+# Microsoft Developer Studio Project File - Name="hierarchy" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=hierarchy - Win32 Debug Crossplatform Setting
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "hierarchy.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "hierarchy.mak" CFG="hierarchy - Win32 Debug Crossplatform Setting"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "hierarchy - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "hierarchy - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "hierarchy - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "CPPUNIT_USE_TYPEINFO" /YX /FD /c
+# ADD BASE RSC /l 0x40c /d "NDEBUG"
+# ADD RSC /l 0x40c /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\lib\cppunit.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF  "$(CFG)" == "hierarchy - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "..\..\include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "CPPUNIT_USE_TYPEINFO" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\lib\cppunitd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF 
+
+# Begin Target
+
+# Name "hierarchy - Win32 Release"
+# Name "hierarchy - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\BoardGame.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\BoardGame.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\BoardGameTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Chess.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Chess.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\ChessTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Makefile.am
+# End Source File
+# End Target
+# End Project

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/hierarchy.dsw
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/hierarchy.dsw	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/hierarchy.dsw	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,44 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "cppunit"=..\..\src\cppunit\cppunit.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "hierarchy"=.\hierarchy.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/main.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/main.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/hierarchy/main.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,23 @@
+#include <cppunit/ui/text/TestRunner.h>
+
+#include "BoardGame.h"
+#include "Chess.h"
+#include "BoardGameTest.h"
+#include "ChessTest.h"
+
+
+
+int 
+main(int argc, char** argv)
+{
+  CPPUNIT_NS::TextUi::TestRunner runner;
+
+  runner.addTest( BoardGameTest<BoardGame>::suite() );
+  runner.addTest( ChessTest<Chess>::suite() );
+
+  bool wasSucessful = runner.run();
+
+  // should be:
+  //  return wasSuccessful ? 0 : 1;
+  return 0;
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/Makefile.am
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/Makefile.am	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/Makefile.am	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,21 @@
+# Include cookbook.html in distro
+EXTRA_DIST = money.dsp money.dsw configure.in StdAfx.cpp
+
+INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
+
+
+# Rules to make the production code
+#bin_PROGRAMS = Money
+#main_SOURCES = Money.h
+
+# Rules for the test code (use `make check` to execute)
+TESTS = MoneyApp
+check_PROGRAMS = $(TESTS)
+
+MoneyApp_SOURCES = Money.h MoneyTest.h MoneyTest.cpp MoneyApp.cpp StdAfx.h
+MoneyApp_CXXFLAGS = $(CPPUNIT_CFLAGS)
+MoneyApp_LDADD= \
+  $(top_builddir)/src/cppunit/libcppunit.la 
+
+MoneyApp_LDFLAGS = $(CPPUNIT_LIBS) $(LIBADD_DL)
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/Makefile.in
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/Makefile.in	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/Makefile.in	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,596 @@
+# Makefile.in generated by automake 1.7.5 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPUNIT_BINARY_AGE = @CPPUNIT_BINARY_AGE@
+CPPUNIT_INTERFACE_AGE = @CPPUNIT_INTERFACE_AGE@
+CPPUNIT_MAJOR_VERSION = @CPPUNIT_MAJOR_VERSION@
+CPPUNIT_MICRO_VERSION = @CPPUNIT_MICRO_VERSION@
+CPPUNIT_MINOR_VERSION = @CPPUNIT_MINOR_VERSION@
+CPPUNIT_VERSION = @CPPUNIT_VERSION@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOC_FALSE = @DOC_FALSE@
+DOC_TRUE = @DOC_TRUE@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBADD_DL = @LIBADD_DL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+enable_dot = @enable_dot@
+enable_html_docs = @enable_html_docs@
+enable_latex_docs = @enable_latex_docs@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+
+# Include cookbook.html in distro
+EXTRA_DIST = money.dsp money.dsw configure.in StdAfx.cpp
+
+INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
+
+# Rules to make the production code
+#bin_PROGRAMS = Money
+#main_SOURCES = Money.h
+
+# Rules for the test code (use `make check` to execute)
+TESTS = MoneyApp
+check_PROGRAMS = $(TESTS)
+
+MoneyApp_SOURCES = Money.h MoneyTest.h MoneyTest.cpp MoneyApp.cpp StdAfx.h
+MoneyApp_CXXFLAGS = $(CPPUNIT_CFLAGS)
+MoneyApp_LDADD = \
+  $(top_builddir)/src/cppunit/libcppunit.la 
+
+
+MoneyApp_LDFLAGS = $(CPPUNIT_LIBS) $(LIBADD_DL)
+subdir = examples/money
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config/config.h
+CONFIG_CLEAN_FILES =
+check_PROGRAMS = MoneyApp$(EXEEXT)
+am_MoneyApp_OBJECTS = MoneyApp-MoneyTest.$(OBJEXT) \
+	MoneyApp-MoneyApp.$(OBJEXT)
+MoneyApp_OBJECTS = $(am_MoneyApp_OBJECTS)
+MoneyApp_DEPENDENCIES = $(top_builddir)/src/cppunit/libcppunit.la
+
+DEFAULT_INCLUDES =  -I. -I$(srcdir) -I$(top_builddir)/config
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+ at AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/MoneyApp-MoneyApp.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/MoneyApp-MoneyTest.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
+	$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(MoneyApp_SOURCES)
+DIST_COMMON = Makefile.am Makefile.in configure.in
+SOURCES = $(MoneyApp_SOURCES)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  examples/money/Makefile
+Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+
+clean-checkPROGRAMS:
+	@list='$(check_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+MoneyApp$(EXEEXT): $(MoneyApp_OBJECTS) $(MoneyApp_DEPENDENCIES) 
+	@rm -f MoneyApp$(EXEEXT)
+	$(CXXLINK) $(MoneyApp_LDFLAGS) $(MoneyApp_OBJECTS) $(MoneyApp_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MoneyApp-MoneyApp.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MoneyApp-MoneyTest.Po at am__quote@
+
+distclean-depend:
+	-rm -rf ./$(DEPDIR)
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+MoneyApp-MoneyTest.o: MoneyTest.cpp
+ at am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MoneyApp_CXXFLAGS) $(CXXFLAGS) -MT MoneyApp-MoneyTest.o -MD -MP -MF "$(DEPDIR)/MoneyApp-MoneyTest.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o MoneyApp-MoneyTest.o `test -f 'MoneyTest.cpp' || echo '$(srcdir)/'`MoneyTest.cpp; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/MoneyApp-MoneyTest.Tpo" "$(DEPDIR)/MoneyApp-MoneyTest.Po"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/MoneyApp-MoneyTest.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='MoneyTest.cpp' object='MoneyApp-MoneyTest.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/MoneyApp-MoneyTest.Po' tmpdepfile='$(DEPDIR)/MoneyApp-MoneyTest.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MoneyApp_CXXFLAGS) $(CXXFLAGS) -c -o MoneyApp-MoneyTest.o `test -f 'MoneyTest.cpp' || echo '$(srcdir)/'`MoneyTest.cpp
+
+MoneyApp-MoneyTest.obj: MoneyTest.cpp
+ at am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MoneyApp_CXXFLAGS) $(CXXFLAGS) -MT MoneyApp-MoneyTest.obj -MD -MP -MF "$(DEPDIR)/MoneyApp-MoneyTest.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o MoneyApp-MoneyTest.obj `if test -f 'MoneyTest.cpp'; then $(CYGPATH_W) 'MoneyTest.cpp'; else $(CYGPATH_W) '$(srcdir)/MoneyTest.cpp'; fi`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/MoneyApp-MoneyTest.Tpo" "$(DEPDIR)/MoneyApp-MoneyTest.Po"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/MoneyApp-MoneyTest.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='MoneyTest.cpp' object='MoneyApp-MoneyTest.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/MoneyApp-MoneyTest.Po' tmpdepfile='$(DEPDIR)/MoneyApp-MoneyTest.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MoneyApp_CXXFLAGS) $(CXXFLAGS) -c -o MoneyApp-MoneyTest.obj `if test -f 'MoneyTest.cpp'; then $(CYGPATH_W) 'MoneyTest.cpp'; else $(CYGPATH_W) '$(srcdir)/MoneyTest.cpp'; fi`
+
+MoneyApp-MoneyTest.lo: MoneyTest.cpp
+ at am__fastdepCXX_TRUE@	if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MoneyApp_CXXFLAGS) $(CXXFLAGS) -MT MoneyApp-MoneyTest.lo -MD -MP -MF "$(DEPDIR)/MoneyApp-MoneyTest.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o MoneyApp-MoneyTest.lo `test -f 'MoneyTest.cpp' || echo '$(srcdir)/'`MoneyTest.cpp; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/MoneyApp-MoneyTest.Tpo" "$(DEPDIR)/MoneyApp-MoneyTest.Plo"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/MoneyApp-MoneyTest.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='MoneyTest.cpp' object='MoneyApp-MoneyTest.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/MoneyApp-MoneyTest.Plo' tmpdepfile='$(DEPDIR)/MoneyApp-MoneyTest.TPlo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MoneyApp_CXXFLAGS) $(CXXFLAGS) -c -o MoneyApp-MoneyTest.lo `test -f 'MoneyTest.cpp' || echo '$(srcdir)/'`MoneyTest.cpp
+
+MoneyApp-MoneyApp.o: MoneyApp.cpp
+ at am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MoneyApp_CXXFLAGS) $(CXXFLAGS) -MT MoneyApp-MoneyApp.o -MD -MP -MF "$(DEPDIR)/MoneyApp-MoneyApp.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o MoneyApp-MoneyApp.o `test -f 'MoneyApp.cpp' || echo '$(srcdir)/'`MoneyApp.cpp; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/MoneyApp-MoneyApp.Tpo" "$(DEPDIR)/MoneyApp-MoneyApp.Po"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/MoneyApp-MoneyApp.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='MoneyApp.cpp' object='MoneyApp-MoneyApp.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/MoneyApp-MoneyApp.Po' tmpdepfile='$(DEPDIR)/MoneyApp-MoneyApp.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MoneyApp_CXXFLAGS) $(CXXFLAGS) -c -o MoneyApp-MoneyApp.o `test -f 'MoneyApp.cpp' || echo '$(srcdir)/'`MoneyApp.cpp
+
+MoneyApp-MoneyApp.obj: MoneyApp.cpp
+ at am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MoneyApp_CXXFLAGS) $(CXXFLAGS) -MT MoneyApp-MoneyApp.obj -MD -MP -MF "$(DEPDIR)/MoneyApp-MoneyApp.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o MoneyApp-MoneyApp.obj `if test -f 'MoneyApp.cpp'; then $(CYGPATH_W) 'MoneyApp.cpp'; else $(CYGPATH_W) '$(srcdir)/MoneyApp.cpp'; fi`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/MoneyApp-MoneyApp.Tpo" "$(DEPDIR)/MoneyApp-MoneyApp.Po"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/MoneyApp-MoneyApp.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='MoneyApp.cpp' object='MoneyApp-MoneyApp.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/MoneyApp-MoneyApp.Po' tmpdepfile='$(DEPDIR)/MoneyApp-MoneyApp.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MoneyApp_CXXFLAGS) $(CXXFLAGS) -c -o MoneyApp-MoneyApp.obj `if test -f 'MoneyApp.cpp'; then $(CYGPATH_W) 'MoneyApp.cpp'; else $(CYGPATH_W) '$(srcdir)/MoneyApp.cpp'; fi`
+
+MoneyApp-MoneyApp.lo: MoneyApp.cpp
+ at am__fastdepCXX_TRUE@	if $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MoneyApp_CXXFLAGS) $(CXXFLAGS) -MT MoneyApp-MoneyApp.lo -MD -MP -MF "$(DEPDIR)/MoneyApp-MoneyApp.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o MoneyApp-MoneyApp.lo `test -f 'MoneyApp.cpp' || echo '$(srcdir)/'`MoneyApp.cpp; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/MoneyApp-MoneyApp.Tpo" "$(DEPDIR)/MoneyApp-MoneyApp.Plo"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/MoneyApp-MoneyApp.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='MoneyApp.cpp' object='MoneyApp-MoneyApp.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/MoneyApp-MoneyApp.Plo' tmpdepfile='$(DEPDIR)/MoneyApp-MoneyApp.TPlo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(MoneyApp_CXXFLAGS) $(CXXFLAGS) -c -o MoneyApp-MoneyApp.lo `test -f 'MoneyApp.cpp' || echo '$(srcdir)/'`MoneyApp.cpp
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(ETAGS_ARGS)$$tags$$unique" \
+	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	     $$tags $$unique
+
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list='$(TESTS)'; \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *" $$tst "*) \
+	        xpass=`expr $$xpass + 1`; \
+	        failed=`expr $$failed + 1`; \
+	        echo "XPASS: $$tst"; \
+	      ;; \
+	      *) \
+	        echo "PASS: $$tst"; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *" $$tst "*) \
+	        xfail=`expr $$xfail + 1`; \
+	        echo "XFAIL: $$tst"; \
+	      ;; \
+	      *) \
+	        failed=`expr $$failed + 1`; \
+	        echo "FAIL: $$tst"; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      echo "SKIP: $$tst"; \
+	    fi; \
+	  done; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="All $$all tests passed"; \
+	    else \
+	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all tests failed"; \
+	    else \
+	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	    fi; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    skipped="($$skip tests were not run)"; \
+	    test `echo "$$skipped" | wc -c` -gt `echo "$$banner" | wc -c` && \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -gt `echo "$$banner" | wc -c` && \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  echo "$$dashes"; \
+	  echo "$$banner"; \
+	  test -n "$$skipped" && echo "$$skipped"; \
+	  test -n "$$report" && echo "$$report"; \
+	  echo "$$dashes"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkinstalldirs) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-compile distclean-depend \
+	distclean-generic distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+	clean-checkPROGRAMS clean-generic clean-libtool ctags distclean \
+	distclean-compile distclean-depend distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am info \
+	info-am install install-am install-data install-data-am \
+	install-exec install-exec-am install-info install-info-am \
+	install-man install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/Money.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/Money.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/Money.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,61 @@
+// Money.h
+#ifndef MONEY_H
+#define MONEY_H
+
+#include <string>
+#include <stdexcept>
+
+class IncompatibleMoneyError : public std::runtime_error
+{
+public:
+   IncompatibleMoneyError() : std::runtime_error( "Incompatible moneys" )
+  {
+  }
+};
+
+
+class Money
+{
+public:
+  Money( double amount, std::string currency )
+    : m_amount( amount )
+    , m_currency( currency )
+  {
+  }
+
+  double getAmount() const
+  {
+    return m_amount;
+  }
+
+  std::string getCurrency() const
+  {
+    return m_currency;
+  }
+
+  bool operator ==( const Money &other ) const
+  {
+    return m_amount == other.m_amount  &&  
+           m_currency == other.m_currency;
+  }
+
+  bool operator !=( const Money &other ) const
+  {
+    return !(*this == other);
+  }
+
+  Money &operator +=( const Money &other )
+  {
+    if ( m_currency != other.m_currency )
+      throw IncompatibleMoneyError();
+
+    m_amount += other.m_amount;
+    return *this;
+  }
+
+private:
+  double m_amount;
+  std::string m_currency;
+};
+
+#endif

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/MoneyApp.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/MoneyApp.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/MoneyApp.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,25 @@
+#include "StdAfx.h"
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+
+int main(int argc, char* argv[])
+{
+  // Get the top level suite from the registry
+  CPPUNIT_NS::Test *suite = CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest();
+
+  // Adds the test to the list of test to run
+  CPPUNIT_NS::TextUi::TestRunner runner;
+  runner.addTest( suite );
+
+  // Change the default outputter to a compiler error format outputter
+  runner.setOutputter( new CPPUNIT_NS::CompilerOutputter( &runner.result(),
+                                                       std::cerr ) );
+  // Run the test.
+  bool wasSucessful = runner.run();
+
+  // Return error code 1 if the one of test failed.
+  return wasSucessful ? 0 : 1;
+}
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/MoneyTest.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/MoneyTest.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/MoneyTest.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,82 @@
+// MoneyTest.cpp
+
+#include "StdAfx.h"
+#include "Money.h"
+#include "MoneyTest.h"
+
+// Registers the fixture into the 'registry'
+CPPUNIT_TEST_SUITE_REGISTRATION( MoneyTest );
+
+
+void 
+MoneyTest::setUp()
+{
+}
+
+
+void 
+MoneyTest::tearDown()
+{
+}
+
+
+void 
+MoneyTest::testConstructor()
+{
+  // Set up
+  const std::string currencyFF( "FF" );
+  const double longNumber = 1234.5678;
+
+  // Process
+  Money money( longNumber, currencyFF );
+
+  // Check
+  CPPUNIT_ASSERT_EQUAL( longNumber, money.getAmount() );
+  CPPUNIT_ASSERT_EQUAL( currencyFF, money.getCurrency() );
+}
+
+
+void
+MoneyTest::testEqual()
+{
+  // Set up
+  const Money money123FF( 123, "FF" );
+  const Money money123USD( 123, "USD" );
+  const Money money12FF( 12, "FF" );
+  const Money money12USD( 12, "USD" );
+
+  // Process & Check
+  CPPUNIT_ASSERT( money123FF == money123FF );    // ==
+  CPPUNIT_ASSERT( money12FF != money123FF );     // != amount
+  CPPUNIT_ASSERT( money123USD != money123FF );   // != currency
+  CPPUNIT_ASSERT( money12USD != money123FF );    // != currency and != amount
+}
+
+
+void 
+MoneyTest::testAdd()
+{
+  // Set up
+  const Money money12FF( 12, "FF" );
+  const Money expectedMoney( 135, "FF" );
+
+  // Process
+  Money money( 123, "FF" );
+  money += money12FF;
+
+  // Check
+  CPPUNIT_ASSERT( expectedMoney == money );           // add works
+  CPPUNIT_ASSERT( &money == &(money += money12FF) );  // add returns ref. on 'this'.
+}
+
+
+void 
+MoneyTest::testAddThrow()
+{
+  // Set up
+  const Money money123FF( 123, "FF" );
+
+  // Process
+  Money money( 123, "USD" );
+  money += money123FF;        // should throw an exception
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/MoneyTest.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/MoneyTest.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/MoneyTest.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,26 @@
+// MoneyTest.h
+#ifndef MONEYTEST_H
+#define MONEYTEST_H
+
+#include <cppunit/extensions/HelperMacros.h>
+
+class MoneyTest : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( MoneyTest );
+  CPPUNIT_TEST( testConstructor );
+  CPPUNIT_TEST( testEqual );
+  CPPUNIT_TEST( testAdd );
+  CPPUNIT_TEST_EXCEPTION( testAddThrow, IncompatibleMoneyError );
+  CPPUNIT_TEST_SUITE_END();
+
+public:
+  void setUp();
+  void tearDown();
+
+  void testConstructor();
+  void testEqual();
+  void testAdd();
+  void testAddThrow();
+};
+
+#endif  // MONEYTEST_H

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/StdAfx.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/StdAfx.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/StdAfx.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+//	money.pch will be the pre-compiled header
+//	stdafx.obj will contain the pre-compiled type information
+
+#include "StdAfx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/StdAfx.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/StdAfx.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/StdAfx.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,19 @@
+// stdafx.h : include file for standard system include files,
+//  or project specific include files that are used frequently, but
+//      are changed infrequently
+//
+
+#if !defined(AFX_STDAFX_H__E8E36A23_EF1C_4C21_A2C0_D0E979CF0267__INCLUDED_)
+#define AFX_STDAFX_H__E8E36A23_EF1C_4C21_A2C0_D0E979CF0267__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+
+// TODO: reference additional headers your program requires here
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_STDAFX_H__E8E36A23_EF1C_4C21_A2C0_D0E979CF0267__INCLUDED_)

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/configure.in
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/configure.in	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/configure.in	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,10 @@
+dnl Process this file with autoconf to produce a configure script.
+dnl Don't forget to run `aclocal -I /usr/local/share/aclocal` before
+dnl running autoconf! This is required for AM_PATH_CPPUNIT to work.
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(cppunit-cookbook,1.6.2)
+AM_PATH_CPPUNIT(1.6.2)
+AC_PROG_CXX
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_OUTPUT(Makefile)

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/money.dsp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/money.dsp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/money.dsp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,135 @@
+# Microsoft Developer Studio Project File - Name="money" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=money - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "money.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "money.mak" CFG="money - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "money - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "money - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "money - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
+# ADD BASE RSC /l 0x40c /d "NDEBUG"
+# ADD RSC /l 0x40c /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunit.lib /nologo /subsystem:console /machine:I386 /libpath:"../../lib"
+# Begin Special Build Tool
+TargetPath=.\Release\money.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Unit testing...
+PostBuild_Cmds=$(TargetPath)
+# End Special Build Tool
+
+!ELSEIF  "$(CFG)" == "money - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunitd.lib /nologo /subsystem:console /debug /machine:I386 /out:"Debug/moneyd.exe" /pdbtype:sept /libpath:"../../lib"
+# Begin Special Build Tool
+TargetPath=.\Debug\moneyd.exe
+SOURCE="$(InputPath)"
+PostBuild_Desc=Unit testing...
+PostBuild_Cmds=$(TargetPath)
+# End Special Build Tool
+
+!ENDIF 
+
+# Begin Target
+
+# Name "money - Win32 Release"
+# Name "money - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\MoneyApp.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\MoneyTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.cpp
+# ADD CPP /Yc"stdafx.h"
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\Money.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MoneyTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/money.dsw
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/money.dsw	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/money/money.dsw	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "money"=.\money.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/.cvsignore
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/.cvsignore	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/.cvsignore	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1 @@
+Makefile.in

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/.cvsignore
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/.cvsignore	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/.cvsignore	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,3 @@
+*.Tags.WW
+Debug DebugCrossplatform Release
+*.ncb *.opt *.aps

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,81 @@
+// CppUnitTestApp.cpp : Defines the class behaviors for the application.
+//
+
+#include "stdafx.h"
+#include "CppUnitTestApp.h"
+#include "CppUnitTestAppDlg.h"
+#include <cppunit/ui/mfc/TestRunner.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+// CppUnitTestApp
+
+BEGIN_MESSAGE_MAP(CppUnitTestApp, CWinApp)
+	//{{AFX_MSG_MAP(CppUnitTestApp)
+		// NOTE - the ClassWizard will add and remove mapping macros here.
+		//    DO NOT EDIT what you see in these blocks of generated code!
+	//}}AFX_MSG
+	ON_COMMAND(ID_HELP, CWinApp::OnHelp)
+END_MESSAGE_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// CppUnitTestApp construction
+
+CppUnitTestApp::CppUnitTestApp()
+{
+	// TODO: add construction code here,
+	// Place all significant initialization in InitInstance
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// The one and only CppUnitTestApp object
+
+CppUnitTestApp theApp;
+
+/////////////////////////////////////////////////////////////////////////////
+// CppUnitTestApp initialization
+
+BOOL 
+CppUnitTestApp::InitInstance()
+{
+	AfxEnableControlContainer();
+
+	// Standard initialization
+	// If you are not using these features and wish to reduce the size
+	//  of your final executable, you should remove from the following
+	//  the specific initialization routines you do not need.
+
+#ifdef _AFXDLL
+# if _MSC_VER < 1300   // vc6
+	Enable3dControls();			// Call this when using MFC in a shared DLL
+# endif
+#else
+	Enable3dControlsStatic();	// Call this when linking to MFC statically
+#endif
+
+  SetRegistryKey(_T("Local AppWizard-Generated Applications"));
+
+  RunTests();        
+
+  
+  // Since the dialog has been closed, return FALSE so that we exit the
+	//  application, rather than start the application's message pump.
+	return FALSE;
+}
+
+
+void 
+CppUnitTestApp::RunTests()
+{
+  CPPUNIT_NS::MfcUi::TestRunner runner;
+
+  runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );
+
+  runner.run();
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.dsp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.dsp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.dsp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,488 @@
+# Microsoft Developer Studio Project File - Name="CppUnitTestApp" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=CppUnitTestApp - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "CppUnitTestApp.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "CppUnitTestApp.mak" CFG="CppUnitTestApp - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "CppUnitTestApp - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "CppUnitTestApp - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "CppUnitTestApp - Win32 Release"
+
+# PROP BASE Use_MFC 6
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 6
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "../../../include" /I "../.." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /D "CPPUNIT_USE_TYPEINFO" /FD /c
+# SUBTRACT CPP /YX /Yc /Yu
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40c /d "NDEBUG" /d "_AFXDLL"
+# ADD RSC /l 0x40c /d "NDEBUG" /d "_AFXDLL"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /nologo /subsystem:windows /machine:I386
+# ADD LINK32 ../../../Lib/cppunit.lib ../../../Lib/testrunner.lib /nologo /subsystem:windows /machine:I386
+
+!ELSEIF  "$(CFG)" == "CppUnitTestApp - Win32 Debug"
+
+# PROP BASE Use_MFC 6
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 6
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "../../../include" /I "../.." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /D "CPPUNIT_USE_TYPEINFO" /FD /GZ /c
+# SUBTRACT CPP /YX /Yc /Yu
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40c /d "_DEBUG" /d "_AFXDLL"
+# ADD RSC /l 0x40c /d "_DEBUG" /d "_AFXDLL"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ../../../Lib/cppunitd.lib ../../../Lib/testrunnerd.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+
+!ENDIF 
+
+# Begin Target
+
+# Name "CppUnitTestApp - Win32 Release"
+# Name "CppUnitTestApp - Win32 Debug"
+# Begin Group "GUI"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\CppUnitTestApp.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CppUnitTestApp.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\CppUnitTestApp.rc
+# End Source File
+# Begin Source File
+
+SOURCE=.\CppUnitTestAppDlg.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\CppUnitTestAppDlg.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Resource.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.cpp
+# ADD CPP /Yc"stdafx.h"
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\res\CppUnitTestApp.ico
+# End Source File
+# Begin Source File
+
+SOURCE=.\res\CppUnitTestApp.rc2
+# End Source File
+# End Group
+# Begin Group "DLL Dependencies"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\lib\testrunner.dll
+
+!IF  "$(CFG)" == "CppUnitTestApp - Win32 Release"
+
+# Begin Custom Build - $(IntDir)\$(InputName).dll
+IntDir=.\Release
+InputPath=..\..\..\lib\testrunner.dll
+InputName=testrunner
+
+"$(IntDir)\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	copy $(InputPath) $(IntDir)\$(InputName).dll
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "CppUnitTestApp - Win32 Debug"
+
+# PROP Exclude_From_Build 1
+
+!ENDIF 
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\lib\testrunnerd.dll
+
+!IF  "$(CFG)" == "CppUnitTestApp - Win32 Release"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "CppUnitTestApp - Win32 Debug"
+
+# Begin Custom Build - $(IntDir)\$(InputName).dll
+IntDir=.\Debug
+InputPath=..\..\..\lib\testrunnerd.dll
+InputName=testrunnerd
+
+"$(IntDir)\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	copy $(InputPath) $(IntDir)\$(InputName).dll
+
+# End Custom Build
+
+!ENDIF 
+
+# End Source File
+# End Group
+# Begin Group "Tests"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\cppunittest\BaseTestCase.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\BaseTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\CoreSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\CppUnitTestSuite.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\ExceptionTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\ExceptionTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\ExceptionTestCaseDecoratorTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\ExceptionTestCaseDecoratorTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\ExtensionSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\FailureException.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\HelperMacrosTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\HelperMacrosTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\HelperSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\MessageTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\MessageTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\MockFunctor.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\MockProtector.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\MockTestCase.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\MockTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\MockTestListener.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\MockTestListener.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\OrthodoxTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\OrthodoxTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\OutputSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\RepeatedTestTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\RepeatedTestTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\StringToolsTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\StringToolsTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\SubclassedTestCase.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\SubclassedTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\SynchronizedTestResult.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestAssertTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestAssertTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestCallerTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestCallerTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestCaseTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestCaseTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestDecoratorTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestDecoratorTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestFailureTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestFailureTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestPathTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestPathTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestResultCollectorTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestResultCollectorTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestResultTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestResultTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestSetUpTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestSetUpTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestSuiteTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestSuiteTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TestTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\ToolsSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TrackedTestCase.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\TrackedTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\UnitTestToolSuite.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\XmlElementTest.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\XmlElementTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\XmlOutputterTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\XmlOutputterTest.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\XmlUniformiser.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\XmlUniformiser.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\XmlUniformiserTest.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\cppunittest\XmlUniformiserTest.h
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=..\..\cppunittest\Makefile.am
+# End Source File
+# Begin Source File
+
+SOURCE=.\ReadMe.txt
+# End Source File
+# End Target
+# End Project

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.dsw
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.dsw	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.dsw	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,80 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "CppUnitTestApp"=.\CppUnitTestApp.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name TestRunner
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name DSPlugIn
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "DSPlugIn"=..\..\..\src\msvc6\DSPlugIn\DSPlugIn.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "TestRunner"=..\..\..\src\msvc6\testrunner\TestRunner.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name DSPlugIn
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "cppunit"=..\..\..\src\cppunit\cppunit.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,52 @@
+// CppUnitTestApp.h : main header file for the CPPUNITTESTAPP application
+//
+
+#if !defined(AFX_CPPUNITTESTAPP_H__6569C745_ED89_4902_9794_AD8422583BC1__INCLUDED_)
+#define AFX_CPPUNITTESTAPP_H__6569C745_ED89_4902_9794_AD8422583BC1__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#ifndef __AFXWIN_H__
+	#error include 'stdafx.h' before including this file for PCH
+#endif
+
+#include "resource.h"		// main symbols
+
+/////////////////////////////////////////////////////////////////////////////
+// CppUnitTestApp:
+// See CppUnitTestApp.cpp for the implementation of this class
+//
+
+class CppUnitTestApp : public CWinApp
+{
+public:
+	CppUnitTestApp();
+
+// Overrides
+	// ClassWizard generated virtual function overrides
+	//{{AFX_VIRTUAL(CppUnitTestApp)
+	public:
+	virtual BOOL InitInstance();
+	//}}AFX_VIRTUAL
+
+// Implementation
+
+	//{{AFX_MSG(CppUnitTestApp)
+		// NOTE - the ClassWizard will add and remove member functions here.
+		//    DO NOT EDIT what you see in these blocks of generated code !
+	//}}AFX_MSG
+	DECLARE_MESSAGE_MAP()
+
+private:
+  void RunTests();
+};
+
+
+/////////////////////////////////////////////////////////////////////////////
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_CPPUNITTESTAPP_H__6569C745_ED89_4902_9794_AD8422583BC1__INCLUDED_)

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.rc
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.rc	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestApp.rc	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,219 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_ABOUTBOX DIALOG DISCARDABLE  0, 0, 235, 55
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "About CppUnitTestApp"
+FONT 8, "MS Sans Serif"
+BEGIN
+    ICON            IDR_MAINFRAME,IDC_STATIC,11,17,20,20
+    LTEXT           "CppUnitTestApp Version 1.0",IDC_STATIC,40,10,119,8,
+                    SS_NOPREFIX
+    LTEXT           "Copyright (C) 2001",IDC_STATIC,40,25,119,8
+    DEFPUSHBUTTON   "OK",IDOK,178,7,50,14,WS_GROUP
+END
+
+IDD_CPPUNITTESTAPP_DIALOG DIALOGEX 0, 0, 320, 200
+STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+EXSTYLE WS_EX_APPWINDOW
+CAPTION "CppUnitTestApp"
+FONT 8, "MS Sans Serif", 0, 0, 0x1
+BEGIN
+    DEFPUSHBUTTON   "OK",IDOK,260,7,50,14
+    PUSHBUTTON      "Cancel",IDCANCEL,260,23,50,14
+    LTEXT           "TODO: Place dialog controls here.",IDC_STATIC,50,90,200,
+                    8
+END
+
+
+#ifndef _MAC
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904B0"
+        BEGIN
+            VALUE "CompanyName", "\0"
+            VALUE "FileDescription", "CppUnitTestApp MFC Application\0"
+            VALUE "FileVersion", "1, 0, 0, 1\0"
+            VALUE "InternalName", "CppUnitTestApp\0"
+            VALUE "LegalCopyright", "Copyright (C) 2001\0"
+            VALUE "LegalTrademarks", "\0"
+            VALUE "OriginalFilename", "CppUnitTestApp.EXE\0"
+            VALUE "ProductName", "CppUnitTestApp Application\0"
+            VALUE "ProductVersion", "1, 0, 0, 1\0"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1200
+    END
+END
+
+#endif    // !_MAC
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO DISCARDABLE 
+BEGIN
+    IDD_ABOUTBOX, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 228
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 48
+    END
+
+    IDD_CPPUNITTESTAPP_DIALOG, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 313
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 193
+    END
+END
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    IDS_ABOUTBOX            "&About CppUnitTestApp..."
+END
+
+#endif    // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+/////////////////////////////////////////////////////////////////////////////
+// French (France) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#include ""afxres.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
+    "#define _AFX_NO_OLE_RESOURCES\r\n"
+    "#define _AFX_NO_TRACKER_RESOURCES\r\n"
+    "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
+    "\r\n"
+    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
+    "#ifdef _WIN32\r\n"
+    "LANGUAGE 9, 1\r\n"
+    "#pragma code_page(1252)\r\n"
+    "#endif //_WIN32\r\n"
+    "#include ""res\\CppUnitTestApp.rc2""  // non-Microsoft Visual C++ edited resources\r\n"
+    "#include ""afxres.rc""         // Standard components\r\n"
+    "#endif\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDR_MAINFRAME           ICON    DISCARDABLE     "res\\CppUnitTestApp.ico"
+#endif    // French (France) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+#define _AFX_NO_SPLITTER_RESOURCES
+#define _AFX_NO_OLE_RESOURCES
+#define _AFX_NO_TRACKER_RESOURCES
+#define _AFX_NO_PROPERTY_RESOURCES
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE 9, 1
+#pragma code_page(1252)
+#endif //_WIN32
+#include "res\CppUnitTestApp.rc2"  // non-Microsoft Visual C++ edited resources
+#include "afxres.rc"         // Standard components
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestAppDlg.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestAppDlg.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestAppDlg.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,170 @@
+// CppUnitTestAppDlg.cpp : implementation file
+//
+
+#include "stdafx.h"
+#include "CppUnitTestApp.h"
+#include "CppUnitTestAppDlg.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+// CAboutDlg dialog used for App About
+
+class CAboutDlg : public CDialog
+{
+public:
+	CAboutDlg();
+
+// Dialog Data
+	//{{AFX_DATA(CAboutDlg)
+	enum { IDD = IDD_ABOUTBOX };
+	//}}AFX_DATA
+
+	// ClassWizard generated virtual function overrides
+	//{{AFX_VIRTUAL(CAboutDlg)
+	protected:
+	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
+	//}}AFX_VIRTUAL
+
+// Implementation
+protected:
+	//{{AFX_MSG(CAboutDlg)
+	//}}AFX_MSG
+	DECLARE_MESSAGE_MAP()
+};
+
+CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
+{
+	//{{AFX_DATA_INIT(CAboutDlg)
+	//}}AFX_DATA_INIT
+}
+
+void CAboutDlg::DoDataExchange(CDataExchange* pDX)
+{
+	CDialog::DoDataExchange(pDX);
+	//{{AFX_DATA_MAP(CAboutDlg)
+	//}}AFX_DATA_MAP
+}
+
+BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
+	//{{AFX_MSG_MAP(CAboutDlg)
+		// No message handlers
+	//}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// CppUnitTestAppDlg dialog
+
+CppUnitTestAppDlg::CppUnitTestAppDlg(CWnd* pParent /*=NULL*/)
+	: CDialog(CppUnitTestAppDlg::IDD, pParent)
+{
+	//{{AFX_DATA_INIT(CppUnitTestAppDlg)
+		// NOTE: the ClassWizard will add member initialization here
+	//}}AFX_DATA_INIT
+	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
+	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
+}
+
+void CppUnitTestAppDlg::DoDataExchange(CDataExchange* pDX)
+{
+	CDialog::DoDataExchange(pDX);
+	//{{AFX_DATA_MAP(CppUnitTestAppDlg)
+		// NOTE: the ClassWizard will add DDX and DDV calls here
+	//}}AFX_DATA_MAP
+}
+
+BEGIN_MESSAGE_MAP(CppUnitTestAppDlg, CDialog)
+	//{{AFX_MSG_MAP(CppUnitTestAppDlg)
+	ON_WM_SYSCOMMAND()
+	ON_WM_PAINT()
+	ON_WM_QUERYDRAGICON()
+	//}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// CppUnitTestAppDlg message handlers
+
+BOOL CppUnitTestAppDlg::OnInitDialog()
+{
+	CDialog::OnInitDialog();
+
+	// Add "About..." menu item to system menu.
+
+	// IDM_ABOUTBOX must be in the system command range.
+	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
+	ASSERT(IDM_ABOUTBOX < 0xF000);
+
+	CMenu* pSysMenu = GetSystemMenu(FALSE);
+	if (pSysMenu != NULL)
+	{
+		CString strAboutMenu;
+		strAboutMenu.LoadString(IDS_ABOUTBOX);
+		if (!strAboutMenu.IsEmpty())
+		{
+			pSysMenu->AppendMenu(MF_SEPARATOR);
+			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
+		}
+	}
+
+	// Set the icon for this dialog.  The framework does this automatically
+	//  when the application's main window is not a dialog
+	SetIcon(m_hIcon, TRUE);			// Set big icon
+	SetIcon(m_hIcon, FALSE);		// Set small icon
+	
+	// TODO: Add extra initialization here
+	
+	return TRUE;  // return TRUE  unless you set the focus to a control
+}
+
+void CppUnitTestAppDlg::OnSysCommand(UINT nID, LPARAM lParam)
+{
+	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
+	{
+		CAboutDlg dlgAbout;
+		dlgAbout.DoModal();
+	}
+	else
+	{
+		CDialog::OnSysCommand(nID, lParam);
+	}
+}
+
+// If you add a minimize button to your dialog, you will need the code below
+//  to draw the icon.  For MFC applications using the document/view model,
+//  this is automatically done for you by the framework.
+
+void CppUnitTestAppDlg::OnPaint() 
+{
+	if (IsIconic())
+	{
+		CPaintDC dc(this); // device context for painting
+
+		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
+
+		// Center icon in client rectangle
+		int cxIcon = GetSystemMetrics(SM_CXICON);
+		int cyIcon = GetSystemMetrics(SM_CYICON);
+		CRect rect;
+		GetClientRect(&rect);
+		int x = (rect.Width() - cxIcon + 1) / 2;
+		int y = (rect.Height() - cyIcon + 1) / 2;
+
+		// Draw the icon
+		dc.DrawIcon(x, y, m_hIcon);
+	}
+	else
+	{
+		CDialog::OnPaint();
+	}
+}
+
+// The system calls this to obtain the cursor to display while the user drags
+//  the minimized window.
+HCURSOR CppUnitTestAppDlg::OnQueryDragIcon()
+{
+	return (HCURSOR) m_hIcon;
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestAppDlg.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestAppDlg.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/CppUnitTestAppDlg.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,49 @@
+// CppUnitTestAppDlg.h : header file
+//
+
+#if !defined(AFX_CPPUNITTESTAPPDLG_H__25E1CF20_72A4_4E25_B930_626DF60AD4C7__INCLUDED_)
+#define AFX_CPPUNITTESTAPPDLG_H__25E1CF20_72A4_4E25_B930_626DF60AD4C7__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+/////////////////////////////////////////////////////////////////////////////
+// CppUnitTestAppDlg dialog
+
+class CppUnitTestAppDlg : public CDialog
+{
+// Construction
+public:
+	CppUnitTestAppDlg(CWnd* pParent = NULL);	// standard constructor
+
+// Dialog Data
+	//{{AFX_DATA(CppUnitTestAppDlg)
+	enum { IDD = IDD_CPPUNITTESTAPP_DIALOG };
+		// NOTE: the ClassWizard will add data members here
+	//}}AFX_DATA
+
+	// ClassWizard generated virtual function overrides
+	//{{AFX_VIRTUAL(CppUnitTestAppDlg)
+	protected:
+	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
+	//}}AFX_VIRTUAL
+
+// Implementation
+protected:
+	HICON m_hIcon;
+
+	// Generated message map functions
+	//{{AFX_MSG(CppUnitTestAppDlg)
+	virtual BOOL OnInitDialog();
+	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
+	afx_msg void OnPaint();
+	afx_msg HCURSOR OnQueryDragIcon();
+	//}}AFX_MSG
+	DECLARE_MESSAGE_MAP()
+};
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_CPPUNITTESTAPPDLG_H__25E1CF20_72A4_4E25_B930_626DF60AD4C7__INCLUDED_)

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/ReadMe.txt
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/ReadMe.txt	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/ReadMe.txt	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,88 @@
+========================================================================
+       MICROSOFT FOUNDATION CLASS LIBRARY : CppUnitTestApp
+========================================================================
+
+
+AppWizard has created this CppUnitTestApp application for you.  This application
+not only demonstrates the basics of using the Microsoft Foundation classes
+but is also a starting point for writing your application.
+
+This file contains a summary of what you will find in each of the files that
+make up your CppUnitTestApp application.
+
+CppUnitTestApp.dsp
+    This file (the project file) contains information at the project level and
+    is used to build a single project or subproject. Other users can share the
+    project (.dsp) file, but they should export the makefiles locally.
+
+CppUnitTestApp.h
+    This is the main header file for the application.  It includes other
+    project specific headers (including Resource.h) and declares the
+    CppUnitTestApp application class.
+
+CppUnitTestApp.cpp
+    This is the main application source file that contains the application
+    class CppUnitTestApp.
+
+CppUnitTestApp.rc
+    This is a listing of all of the Microsoft Windows resources that the
+    program uses.  It includes the icons, bitmaps, and cursors that are stored
+    in the RES subdirectory.  This file can be directly edited in Microsoft
+	Visual C++.
+
+CppUnitTestApp.clw
+    This file contains information used by ClassWizard to edit existing
+    classes or add new classes.  ClassWizard also uses this file to store
+    information needed to create and edit message maps and dialog data
+    maps and to create prototype member functions.
+
+res\CppUnitTestApp.ico
+    This is an icon file, which is used as the application's icon.  This
+    icon is included by the main resource file CppUnitTestApp.rc.
+
+res\CppUnitTestApp.rc2
+    This file contains resources that are not edited by Microsoft 
+	Visual C++.  You should place all resources not editable by
+	the resource editor in this file.
+
+
+
+
+/////////////////////////////////////////////////////////////////////////////
+
+AppWizard creates one dialog class:
+
+CppUnitTestAppDlg.h, CppUnitTestAppDlg.cpp - the dialog
+    These files contain your CppUnitTestAppDlg class.  This class defines
+    the behavior of your application's main dialog.  The dialog's
+    template is in CppUnitTestApp.rc, which can be edited in Microsoft
+	Visual C++.
+
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+    These files are used to build a precompiled header (PCH) file
+    named CppUnitTestApp.pch and a precompiled types file named StdAfx.obj.
+
+Resource.h
+    This is the standard header file, which defines new resource IDs.
+    Microsoft Visual C++ reads and updates this file.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" to indicate parts of the source code you
+should add to or customize.
+
+If your application uses MFC in a shared DLL, and your application is 
+in a language other than the operating system's current language, you
+will need to copy the corresponding localized resources MFC42XXX.DLL
+from the Microsoft Visual C++ CD-ROM onto the system or system32 directory,
+and rename it to be MFCLOC.DLL.  ("XXX" stands for the language abbreviation.
+For example, MFC42DEU.DLL contains resources translated to German.)  If you
+don't do this, some of the UI elements of your application will remain in the
+language of the operating system.
+
+/////////////////////////////////////////////////////////////////////////////

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/Resource.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/Resource.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/Resource.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,21 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by CPPUNITTESTAPP.RC
+//
+#define IDR_MAINFRAME					128
+#define IDM_ABOUTBOX					0x0010
+#define IDD_ABOUTBOX					100
+#define IDS_ABOUTBOX					101
+#define IDD_CPPUNITTESTAPP_DIALOG				102
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NEXT_RESOURCE_VALUE	129
+#define _APS_NEXT_CONTROL_VALUE		1000
+#define _APS_NEXT_SYMED_VALUE		101
+#define _APS_NEXT_COMMAND_VALUE		32771
+#endif
+#endif

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/StdAfx.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/StdAfx.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/StdAfx.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+//	CppUnitTestApp.pch will be the pre-compiled header
+//	stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/StdAfx.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/StdAfx.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/StdAfx.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,28 @@
+// stdafx.h : include file for standard system include files,
+//  or project specific include files that are used frequently, but
+//      are changed infrequently
+//
+
+#if !defined(AFX_STDAFX_H__EB0CB528_6505_4130_843B_9CA567127807__INCLUDED_)
+#define AFX_STDAFX_H__EB0CB528_6505_4130_843B_9CA567127807__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#define VC_EXTRALEAN		// Exclude rarely-used stuff from Windows headers
+
+#include <afxwin.h>         // MFC core and standard components
+#include <afxext.h>         // MFC extensions
+#include <afxdisp.h>        // MFC Automation classes
+#include <afxdtctl.h>		// MFC support for Internet Explorer 4 Common Controls
+#ifndef _AFX_NO_AFXCMN_SUPPORT
+#include <afxcmn.h>			// MFC support for Windows Common Controls
+#endif // _AFX_NO_AFXCMN_SUPPORT
+
+#pragma warning( disable : 4786 )   // remove warning "debug symbol length > 255..."
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_STDAFX_H__EB0CB528_6505_4130_843B_9CA567127807__INCLUDED_)

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/res/CppUnitTestApp.ico
===================================================================
(Binary files differ)


Property changes on: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/res/CppUnitTestApp.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/res/CppUnitTestApp.rc2
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/res/CppUnitTestApp.rc2	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/CppUnitTestApp/res/CppUnitTestApp.rc2	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,13 @@
+//
+// CPPUNITTESTAPP.RC2 - resources Microsoft Visual C++ does not edit directly
+//
+
+#ifdef APSTUDIO_INVOKED
+	#error this file is not editable by Microsoft Visual C++
+#endif //APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+// Add manually edited resources here...
+
+/////////////////////////////////////////////////////////////////////////////

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/.cvsignore
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/.cvsignore	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/.cvsignore	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,5 @@
+Makefile.in
+*.Tags.WW
+Debug DebugCrossplatform Release ReleaseUnicode DebugUnicode
+*.ncb *.opt
+*.aps

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/ExampleTestCase.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/ExampleTestCase.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/ExampleTestCase.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,50 @@
+#include "ExampleTestCase.h"
+
+CPPUNIT_TEST_SUITE_REGISTRATION( ExampleTestCase );
+
+void ExampleTestCase::example ()
+{
+	CPPUNIT_ASSERT_DOUBLES_EQUAL (1.0, 1.1, 0.05);
+	CPPUNIT_ASSERT (1 == 0);
+	CPPUNIT_ASSERT (1 == 1);
+}
+
+
+void ExampleTestCase::anotherExample ()
+{
+	CPPUNIT_ASSERT (1 == 2);
+}
+
+void ExampleTestCase::setUp ()
+{
+	m_value1 = 2.0;
+	m_value2 = 3.0;
+}
+
+void ExampleTestCase::testAdd ()
+{
+	double result = m_value1 + m_value2;
+	CPPUNIT_ASSERT (result == 6.0);
+}
+
+
+void ExampleTestCase::testDivideByZero ()
+{
+	int	zero	= 0;
+	int result	= 8 / zero;
+}
+
+
+void ExampleTestCase::testEquals ()
+{
+    std::auto_ptr<long>	l1 (new long (12));
+    std::auto_ptr<long>	l2 (new long (12));
+
+    CPPUNIT_ASSERT_EQUAL (12, 12);
+    CPPUNIT_ASSERT_EQUAL (12L, 12L);
+    CPPUNIT_ASSERT_EQUAL (*l1, *l2);
+    
+	CPPUNIT_ASSERT (12L == 12L);
+	CPPUNIT_ASSERT_EQUAL (12, 13);
+	CPPUNIT_ASSERT_DOUBLES_EQUAL (12.0, 11.99, 0.5);
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/ExampleTestCase.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/ExampleTestCase.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/ExampleTestCase.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,41 @@
+
+#ifndef CPP_UNIT_EXAMPLETESTCASE_H
+#define CPP_UNIT_EXAMPLETESTCASE_H
+
+#include <cppunit/extensions/HelperMacros.h>
+
+/* 
+ * A test case that is designed to produce
+ * example errors and failures
+ *
+ */
+
+class ExampleTestCase : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( ExampleTestCase );
+  CPPUNIT_TEST( example );
+  CPPUNIT_TEST( anotherExample );
+  CPPUNIT_TEST( testAdd );
+  CPPUNIT_TEST( testDivideByZero );
+  CPPUNIT_TEST( testEquals );
+  CPPUNIT_TEST_SUITE_END();
+protected:
+
+	double			m_value1;
+	double			m_value2;
+
+public:
+
+	void			setUp ();
+
+protected:
+	void			example ();
+	void			anotherExample ();
+	void			testAdd ();
+	void			testDivideByZero ();
+	void			testEquals ();
+
+};
+
+
+#endif
\ No newline at end of file

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,174 @@
+// HostApp.cpp : Defines the class behaviors for the application.
+//
+
+#include "stdafx.h"
+#include "HostApp.h"
+
+#include "MainFrm.h"
+#include "HostAppDoc.h"
+#include "HostAppView.h"
+
+// CppUnit: MFC TestRunner
+#include <cppunit/ui/mfc/TestRunner.h>
+// CppUnit: TestFactoryRegistry to retreive the top test suite that contains all registered tests.
+#include <cppunit/extensions/TestFactoryRegistry.h>
+ 
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+static AFX_EXTENSION_MODULE  extTestRunner;
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppApp
+
+BEGIN_MESSAGE_MAP(CHostAppApp, CWinApp)
+    //{{AFX_MSG_MAP(CHostAppApp)
+    ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
+        // NOTE - the ClassWizard will add and remove mapping macros here.
+        //    DO NOT EDIT what you see in these blocks of generated code!
+    //}}AFX_MSG_MAP
+    // Standard file based document commands
+    ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
+    ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
+    // Standard print setup command
+    ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
+END_MESSAGE_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppApp construction
+
+CHostAppApp::CHostAppApp()
+{
+    // TODO: add construction code here,
+    // Place all significant initialization in InitInstance
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// The one and only CHostAppApp object
+
+CHostAppApp theApp;
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppApp initialization
+
+BOOL CHostAppApp::InitInstance()
+{
+    // Standard initialization
+    // If you are not using these features and wish to reduce the size
+    //  of your final executable, you should remove from the following
+    //  the specific initialization routines you do not need.
+
+#ifdef _AFXDLL
+# if _MSC_VER < 1300   // vc6
+	Enable3dControls();			// Call this when using MFC in a shared DLL
+# endif
+#else
+    Enable3dControlsStatic();   // Call this when linking to MFC statically
+#endif
+
+    // Change the registry key under which our settings are stored.
+    // You should modify this string to be something appropriate
+    // such as the name of your company or organization.
+    SetRegistryKey(_T("Local AppWizard-Generated Applications"));
+
+    LoadStdProfileSettings();  // Load standard INI file options (including MRU)
+
+    // Register the application's document templates.  Document templates
+    //  serve as the connection between documents, frame windows and views.
+
+    CSingleDocTemplate* pDocTemplate;
+    pDocTemplate = new CSingleDocTemplate(
+        IDR_MAINFRAME,
+        RUNTIME_CLASS(CHostAppDoc),
+        RUNTIME_CLASS(CMainFrame),       // main SDI frame window
+        RUNTIME_CLASS(CHostAppView));
+    AddDocTemplate(pDocTemplate);
+
+    RunUnitTests();
+
+/*
+    // Parse command line for standard shell commands, DDE, file open
+    CCommandLineInfo cmdInfo;
+    ParseCommandLine(cmdInfo);
+
+    // Dispatch commands specified on the command line
+    if (!ProcessShellCommand(cmdInfo))
+        return FALSE;
+
+    // The one and only window has been initialized, so show and update it.
+    m_pMainWnd->ShowWindow(SW_SHOW);
+    m_pMainWnd->UpdateWindow();
+*/
+
+    return TRUE;
+}
+
+
+void 
+CHostAppApp::RunUnitTests()
+{
+  CPPUNIT_NS::MfcUi::TestRunner runner;
+  runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );
+
+  runner.run();    
+}
+
+
+/////////////////////////////////////////////////////////////////////////////
+// CAboutDlg dialog used for App About
+
+class CAboutDlg : public CDialog
+{
+public:
+    CAboutDlg();
+
+// Dialog Data
+    //{{AFX_DATA(CAboutDlg)
+    enum { IDD = IDD_ABOUTBOX };
+    //}}AFX_DATA
+
+    // ClassWizard generated virtual function overrides
+    //{{AFX_VIRTUAL(CAboutDlg)
+    protected:
+    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
+    //}}AFX_VIRTUAL
+
+// Implementation
+protected:
+    //{{AFX_MSG(CAboutDlg)
+        // No message handlers
+    //}}AFX_MSG
+    DECLARE_MESSAGE_MAP()
+};
+
+CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
+{
+    //{{AFX_DATA_INIT(CAboutDlg)
+    //}}AFX_DATA_INIT
+}
+
+void CAboutDlg::DoDataExchange(CDataExchange* pDX)
+{
+    CDialog::DoDataExchange(pDX);
+    //{{AFX_DATA_MAP(CAboutDlg)
+    //}}AFX_DATA_MAP
+}
+
+BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
+    //{{AFX_MSG_MAP(CAboutDlg)
+        // No message handlers
+    //}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+// App command to run the dialog
+void CHostAppApp::OnAppAbout()
+{
+    CAboutDlg aboutDlg;
+    aboutDlg.DoModal();
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppApp commands

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.dsp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.dsp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.dsp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,446 @@
+# Microsoft Developer Studio Project File - Name="HostApp" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+CFG=HostApp - Win32 Debug No Type Info Name
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "HostApp.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "HostApp.mak" CFG="HostApp - Win32 Debug No Type Info Name"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "HostApp - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "HostApp - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "HostApp - Win32 Release Unicode" (based on "Win32 (x86) Application")
+!MESSAGE "HostApp - Win32 Debug Unicode" (based on "Win32 (x86) Application")
+!MESSAGE "HostApp - Win32 Debug No Type Info Name" (based on "Win32 (x86) Application")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "HostApp - Win32 Release"
+
+# PROP BASE Use_MFC 6
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 6
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\..\include" /I "..\..\..\include\msvc6" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "WIN32" /Yu"stdafx.h" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL"
+# ADD RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /nologo /subsystem:windows /machine:I386
+# ADD LINK32 ../../../Lib/cppunit.lib ../../../Lib/testrunner.lib /nologo /subsystem:windows /machine:I386
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug"
+
+# PROP BASE Use_MFC 6
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 6
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "..\..\..\include" /I "..\..\..\include\msvc6" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "WIN32" /Yu"stdafx.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
+# ADD RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ..\..\..\lib\cppunitd.lib ..\..\..\lib\testrunnerd.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# SUBTRACT LINK32 /pdb:none /map /nodefaultlib
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Release Unicode"
+
+# PROP BASE Use_MFC 6
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "HostApp___Win32_Release_Unicode"
+# PROP BASE Intermediate_Dir "HostApp___Win32_Release_Unicode"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 6
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleaseUnicode"
+# PROP Intermediate_Dir "ReleaseUnicode"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\..\include" /I "..\..\..\include\msvc6" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "WIN32" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MD /W3 /GR /GX /O2 /I "..\..\..\include" /I "..\..\..\include\msvc6" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "WIN32" /D "_UNICODE" /Yu"stdafx.h" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL"
+# ADD RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 ../../../Lib/cppunit.lib ../../../Lib/testrunner.lib /nologo /subsystem:windows /machine:I386
+# ADD LINK32 ../../../Lib/cppunit.lib ../../../Lib/testrunneru.lib /nologo /entry:"wWinMainCRTStartup" /subsystem:windows /machine:I386
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug Unicode"
+
+# PROP BASE Use_MFC 6
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "HostApp___Win32_Debug_Unicode"
+# PROP BASE Intermediate_Dir "HostApp___Win32_Debug_Unicode"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 6
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugUnicode"
+# PROP Intermediate_Dir "DebugUnicode"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "..\..\..\include" /I "..\..\..\include\msvc6" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "WIN32" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "..\..\..\include" /I "..\..\..\include\msvc6" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "WIN32" /D "_UNICODE" /Yu"stdafx.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
+# ADD RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 ..\..\..\lib\cppunitd.lib ..\..\..\lib\testrunnerd.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# SUBTRACT BASE LINK32 /pdb:none /map /nodefaultlib
+# ADD LINK32 ..\..\..\lib\cppunitd.lib ..\..\..\lib\testrunnerud.lib /nologo /entry:"wWinMainCRTStartup" /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# SUBTRACT LINK32 /pdb:none /map /nodefaultlib
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug No Type Info Name"
+
+# PROP BASE Use_MFC 6
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "HostApp___Win32_Debug_No_Type_Info_Name"
+# PROP BASE Intermediate_Dir "HostApp___Win32_Debug_No_Type_Info_Name"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 6
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugNoTypeInfoName"
+# PROP Intermediate_Dir "DebugNoTypeInfoName"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "..\..\..\include" /I "..\..\..\include\msvc6" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "WIN32" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "..\..\..\include" /I "..\..\..\include\msvc6" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "WIN32" /D CPPUNIT_USE_TYPEINFO_NAME=0 /Yu"stdafx.h" /FD /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
+# ADD RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 ..\..\..\lib\cppunitd.lib ..\..\..\lib\testrunnerd.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# SUBTRACT BASE LINK32 /pdb:none /map /nodefaultlib
+# ADD LINK32 ..\..\..\lib\cppunitd.lib ..\..\..\lib\testrunnerd.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
+# SUBTRACT LINK32 /pdb:none /map /nodefaultlib
+
+!ENDIF 
+
+# Begin Target
+
+# Name "HostApp - Win32 Release"
+# Name "HostApp - Win32 Debug"
+# Name "HostApp - Win32 Release Unicode"
+# Name "HostApp - Win32 Debug Unicode"
+# Name "HostApp - Win32 Debug No Type Info Name"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\ExampleTestCase.cpp
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=.\HostApp.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\HostApp.rc
+# End Source File
+# Begin Source File
+
+SOURCE=.\HostAppDoc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\HostAppView.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\MainFrm.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.cpp
+# ADD CPP /Yc"stdafx.h"
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\ExampleTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\HostApp.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\HostAppDoc.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\HostAppView.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\MainFrm.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Resource.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\res\HostApp.ico
+# End Source File
+# Begin Source File
+
+SOURCE=.\res\HostApp.rc2
+# End Source File
+# Begin Source File
+
+SOURCE=.\res\HostAppDoc.ico
+# End Source File
+# Begin Source File
+
+SOURCE=.\res\Toolbar.bmp
+# End Source File
+# End Group
+# Begin Group "DLL Dependencies"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=..\..\..\lib\testrunner.dll
+
+!IF  "$(CFG)" == "HostApp - Win32 Release"
+
+# Begin Custom Build - $(IntDir)\$(InputName).dll
+IntDir=.\Release
+InputPath=..\..\..\lib\testrunner.dll
+InputName=testrunner
+
+"$(IntDir)\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	copy $(InputPath) $(IntDir)\$(InputName).dll
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Release Unicode"
+
+# Begin Custom Build - $(IntDir)\$(InputName).dll
+IntDir=.\ReleaseUnicode
+InputPath=..\..\..\lib\testrunner.dll
+InputName=testrunner
+
+"$(IntDir)\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	copy $(InputPath) $(IntDir)\$(InputName).dll
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug Unicode"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug No Type Info Name"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ENDIF 
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\lib\testrunnerd.dll
+
+!IF  "$(CFG)" == "HostApp - Win32 Release"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug"
+
+# Begin Custom Build - $(IntDir)\$(InputName).dll
+IntDir=.\Debug
+InputPath=..\..\..\lib\testrunnerd.dll
+InputName=testrunnerd
+
+"$(IntDir)\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	copy $(InputPath) $(IntDir)\$(InputName).dll
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Release Unicode"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug Unicode"
+
+# Begin Custom Build - $(IntDir)\$(InputName).dll
+IntDir=.\DebugUnicode
+InputPath=..\..\..\lib\testrunnerd.dll
+InputName=testrunnerd
+
+"$(IntDir)\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	copy $(InputPath) $(IntDir)\$(InputName).dll
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug No Type Info Name"
+
+# Begin Custom Build - $(IntDir)\$(InputName).dll
+IntDir=.\DebugNoTypeInfoName
+InputPath=..\..\..\lib\testrunnerd.dll
+InputName=testrunnerd
+
+"$(IntDir)\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	copy $(InputPath) $(IntDir)\$(InputName).dll
+
+# End Custom Build
+
+!ENDIF 
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\lib\testrunneru.dll
+
+!IF  "$(CFG)" == "HostApp - Win32 Release"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Release Unicode"
+
+# Begin Custom Build - Updating DLL $(InputPath)
+IntDir=.\ReleaseUnicode
+InputPath=..\..\..\lib\testrunneru.dll
+InputName=testrunneru
+
+"$(IntDir)\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	copy $(InputPath) $(IntDir)\$(InputName).dll
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug Unicode"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug No Type Info Name"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ENDIF 
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\lib\testrunnerud.dll
+
+!IF  "$(CFG)" == "HostApp - Win32 Release"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Release Unicode"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug Unicode"
+
+# Begin Custom Build - Updating DLL $(InputPath)
+IntDir=.\DebugUnicode
+InputPath=..\..\..\lib\testrunnerud.dll
+InputName=testrunnerud
+
+"$(IntDir)\$(InputName).dll" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	copy $(InputPath) $(IntDir)\$(InputName).dll
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "HostApp - Win32 Debug No Type Info Name"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ENDIF 
+
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=.\ReadMe.txt
+# End Source File
+# End Target
+# End Project

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.dsw
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.dsw	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.dsw	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,80 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "DSPlugIn"=..\..\..\src\msvc6\DSPlugIn\DSPlugIn.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "HostApp"=.\HostApp.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name TestRunner
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name DSPlugIn
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "TestRunner"=..\..\..\src\msvc6\testrunner\TestRunner.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+    Begin Project Dependency
+    Project_Dep_Name cppunit
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name DSPlugIn
+    End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "cppunit"=..\..\..\src\cppunit\cppunit.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,53 @@
+// HostApp.h : main header file for the HOSTAPP application
+//
+
+#if !defined(AFX_HOSTAPP_H__A9C94DE7_1663_11D2_A499_00805FC1C042__INCLUDED_)
+#define AFX_HOSTAPP_H__A9C94DE7_1663_11D2_A499_00805FC1C042__INCLUDED_
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+#ifndef __AFXWIN_H__
+    #error include 'stdafx.h' before including this file for PCH
+#endif
+
+#include "resource.h"       // main symbols
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppApp:
+// See HostApp.cpp for the implementation of this class
+//
+
+class CHostAppApp : public CWinApp
+{
+public:
+    CHostAppApp();
+
+// Overrides
+    // ClassWizard generated virtual function overrides
+    //{{AFX_VIRTUAL(CHostAppApp)
+    public:
+    virtual BOOL InitInstance();
+    //}}AFX_VIRTUAL
+
+// Implementation
+
+    //{{AFX_MSG(CHostAppApp)
+    afx_msg void OnAppAbout();
+        // NOTE - the ClassWizard will add and remove member functions here.
+        //    DO NOT EDIT what you see in these blocks of generated code !
+    //}}AFX_MSG
+    DECLARE_MESSAGE_MAP();
+
+private:
+  void RunUnitTests();
+};
+
+
+/////////////////////////////////////////////////////////////////////////////
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_HOSTAPP_H__A9C94DE7_1663_11D2_A499_00805FC1C042__INCLUDED_)

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.rc
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.rc	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostApp.rc	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,389 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#include ""afxres.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
+    "#define _AFX_NO_OLE_RESOURCES\r\n"
+    "#define _AFX_NO_TRACKER_RESOURCES\r\n"
+    "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
+    "\r\n"
+    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
+    "#ifdef _WIN32\r\n"
+    "LANGUAGE 9, 1\r\n"
+    "#pragma code_page(1252)\r\n"
+    "#endif\r\n"
+    "#include ""res\\HostApp.rc2""  // non-Microsoft Visual C++ edited resources\r\n"
+    "#include ""afxres.rc""         // Standard components\r\n"
+    "#include ""afxprint.rc""       // printing/print preview resources\r\n"
+    "#endif\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDR_MAINFRAME           ICON    DISCARDABLE     "res\\HostApp.ico"
+IDR_HOSTAPTYPE          ICON    DISCARDABLE     "res\\HostAppDoc.ico"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Bitmap
+//
+
+IDR_MAINFRAME           BITMAP  MOVEABLE PURE   "res\\Toolbar.bmp"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Toolbar
+//
+
+IDR_MAINFRAME TOOLBAR DISCARDABLE  16, 15
+BEGIN
+    BUTTON      ID_FILE_NEW
+    BUTTON      ID_FILE_OPEN
+    BUTTON      ID_FILE_SAVE
+    SEPARATOR
+    BUTTON      ID_EDIT_CUT
+    BUTTON      ID_EDIT_COPY
+    BUTTON      ID_EDIT_PASTE
+    SEPARATOR
+    BUTTON      ID_FILE_PRINT
+    BUTTON      ID_APP_ABOUT
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Menu
+//
+
+IDR_MAINFRAME MENU PRELOAD DISCARDABLE 
+BEGIN
+    POPUP "&File"
+    BEGIN
+        MENUITEM "&New\tCtrl+N",                ID_FILE_NEW
+        MENUITEM "&Open...\tCtrl+O",            ID_FILE_OPEN
+        MENUITEM "&Save\tCtrl+S",               ID_FILE_SAVE
+        MENUITEM "Save &As...",                 ID_FILE_SAVE_AS
+        MENUITEM SEPARATOR
+        MENUITEM "&Print...\tCtrl+P",           ID_FILE_PRINT
+        MENUITEM "Print Pre&view",              ID_FILE_PRINT_PREVIEW
+        MENUITEM "P&rint Setup...",             ID_FILE_PRINT_SETUP
+        MENUITEM SEPARATOR
+        MENUITEM "Recent File",                 ID_FILE_MRU_FILE1, GRAYED
+        MENUITEM SEPARATOR
+        MENUITEM "E&xit",                       ID_APP_EXIT
+    END
+    POPUP "&Edit"
+    BEGIN
+        MENUITEM "&Undo\tCtrl+Z",               ID_EDIT_UNDO
+        MENUITEM SEPARATOR
+        MENUITEM "Cu&t\tCtrl+X",                ID_EDIT_CUT
+        MENUITEM "&Copy\tCtrl+C",               ID_EDIT_COPY
+        MENUITEM "&Paste\tCtrl+V",              ID_EDIT_PASTE
+    END
+    POPUP "&View"
+    BEGIN
+        MENUITEM "&Toolbar",                    ID_VIEW_TOOLBAR
+        MENUITEM "&Status Bar",                 ID_VIEW_STATUS_BAR
+    END
+    POPUP "&Help"
+    BEGIN
+        MENUITEM "&About HostApp...",           ID_APP_ABOUT
+    END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Accelerator
+//
+
+IDR_MAINFRAME ACCELERATORS PRELOAD MOVEABLE PURE 
+BEGIN
+    "N",            ID_FILE_NEW,            VIRTKEY, CONTROL
+    "O",            ID_FILE_OPEN,           VIRTKEY, CONTROL
+    "S",            ID_FILE_SAVE,           VIRTKEY, CONTROL
+    "P",            ID_FILE_PRINT,          VIRTKEY, CONTROL
+    "Z",            ID_EDIT_UNDO,           VIRTKEY, CONTROL
+    "X",            ID_EDIT_CUT,            VIRTKEY, CONTROL
+    "C",            ID_EDIT_COPY,           VIRTKEY, CONTROL
+    "V",            ID_EDIT_PASTE,          VIRTKEY, CONTROL
+    VK_BACK,        ID_EDIT_UNDO,           VIRTKEY, ALT
+    VK_DELETE,      ID_EDIT_CUT,            VIRTKEY, SHIFT
+    VK_INSERT,      ID_EDIT_COPY,           VIRTKEY, CONTROL
+    VK_INSERT,      ID_EDIT_PASTE,          VIRTKEY, SHIFT
+    VK_F6,          ID_NEXT_PANE,           VIRTKEY 
+    VK_F6,          ID_PREV_PANE,           VIRTKEY, SHIFT
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_ABOUTBOX DIALOG DISCARDABLE  0, 0, 217, 55
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "About HostApp"
+FONT 8, "MS Sans Serif"
+BEGIN
+    ICON            IDR_MAINFRAME,IDC_STATIC,11,17,20,20
+    LTEXT           "HostApp Version 1.0",IDC_STATIC,40,10,119,8,SS_NOPREFIX
+    LTEXT           "Copyright (C) 1998",IDC_STATIC,40,25,119,8
+    DEFPUSHBUTTON   "OK",IDOK,178,7,32,14,WS_GROUP
+END
+
+
+#ifndef _MAC
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,1
+ PRODUCTVERSION 1,0,0,1
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904B0"
+        BEGIN
+            VALUE "CompanyName", "\0"
+            VALUE "FileDescription", "HostApp MFC Application\0"
+            VALUE "FileVersion", "1, 0, 0, 1\0"
+            VALUE "InternalName", "HostApp\0"
+            VALUE "LegalCopyright", "Copyright (C) 1998\0"
+            VALUE "LegalTrademarks", "\0"
+            VALUE "OriginalFilename", "HostApp.EXE\0"
+            VALUE "ProductName", "HostApp Application\0"
+            VALUE "ProductVersion", "1, 0, 0, 1\0"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1200
+    END
+END
+
+#endif    // !_MAC
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO DISCARDABLE 
+BEGIN
+    IDD_ABOUTBOX, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 210
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 48
+    END
+END
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// String Table
+//
+
+STRINGTABLE PRELOAD DISCARDABLE 
+BEGIN
+    IDR_MAINFRAME           "HostApp\n\nHostAp\n\n\nHostApp.Document\nHostAp Document"
+END
+
+STRINGTABLE PRELOAD DISCARDABLE 
+BEGIN
+    AFX_IDS_APP_TITLE       "HostApp"
+    AFX_IDS_IDLEMESSAGE     "Ready"
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    ID_INDICATOR_EXT        "EXT"
+    ID_INDICATOR_CAPS       "CAP"
+    ID_INDICATOR_NUM        "NUM"
+    ID_INDICATOR_SCRL       "SCRL"
+    ID_INDICATOR_OVR        "OVR"
+    ID_INDICATOR_REC        "REC"
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    ID_FILE_NEW             "Create a new document\nNew"
+    ID_FILE_OPEN            "Open an existing document\nOpen"
+    ID_FILE_CLOSE           "Close the active document\nClose"
+    ID_FILE_SAVE            "Save the active document\nSave"
+    ID_FILE_SAVE_AS         "Save the active document with a new name\nSave As"
+    ID_FILE_PAGE_SETUP      "Change the printing options\nPage Setup"
+    ID_FILE_PRINT_SETUP     "Change the printer and printing options\nPrint Setup"
+    ID_FILE_PRINT           "Print the active document\nPrint"
+    ID_FILE_PRINT_PREVIEW   "Display full pages\nPrint Preview"
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    ID_APP_ABOUT            "Display program information, version number and copyright\nAbout"
+    ID_APP_EXIT             "Quit the application; prompts to save documents\nExit"
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    ID_FILE_MRU_FILE1       "Open this document"
+    ID_FILE_MRU_FILE2       "Open this document"
+    ID_FILE_MRU_FILE3       "Open this document"
+    ID_FILE_MRU_FILE4       "Open this document"
+    ID_FILE_MRU_FILE5       "Open this document"
+    ID_FILE_MRU_FILE6       "Open this document"
+    ID_FILE_MRU_FILE7       "Open this document"
+    ID_FILE_MRU_FILE8       "Open this document"
+    ID_FILE_MRU_FILE9       "Open this document"
+    ID_FILE_MRU_FILE10      "Open this document"
+    ID_FILE_MRU_FILE11      "Open this document"
+    ID_FILE_MRU_FILE12      "Open this document"
+    ID_FILE_MRU_FILE13      "Open this document"
+    ID_FILE_MRU_FILE14      "Open this document"
+    ID_FILE_MRU_FILE15      "Open this document"
+    ID_FILE_MRU_FILE16      "Open this document"
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    ID_NEXT_PANE            "Switch to the next window pane\nNext Pane"
+    ID_PREV_PANE            "Switch back to the previous window pane\nPrevious Pane"
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    ID_WINDOW_SPLIT         "Split the active window into panes\nSplit"
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    ID_EDIT_CLEAR           "Erase the selection\nErase"
+    ID_EDIT_CLEAR_ALL       "Erase everything\nErase All"
+    ID_EDIT_COPY            "Copy the selection and put it on the Clipboard\nCopy"
+    ID_EDIT_CUT             "Cut the selection and put it on the Clipboard\nCut"
+    ID_EDIT_FIND            "Find the specified text\nFind"
+    ID_EDIT_PASTE           "Insert Clipboard contents\nPaste"
+    ID_EDIT_REPEAT          "Repeat the last action\nRepeat"
+    ID_EDIT_REPLACE         "Replace specific text with different text\nReplace"
+    ID_EDIT_SELECT_ALL      "Select the entire document\nSelect All"
+    ID_EDIT_UNDO            "Undo the last action\nUndo"
+    ID_EDIT_REDO            "Redo the previously undone action\nRedo"
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    ID_VIEW_TOOLBAR         "Show or hide the toolbar\nToggle ToolBar"
+    ID_VIEW_STATUS_BAR      "Show or hide the status bar\nToggle StatusBar"
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    AFX_IDS_SCSIZE          "Change the window size"
+    AFX_IDS_SCMOVE          "Change the window position"
+    AFX_IDS_SCMINIMIZE      "Reduce the window to an icon"
+    AFX_IDS_SCMAXIMIZE      "Enlarge the window to full size"
+    AFX_IDS_SCNEXTWINDOW    "Switch to the next document window"
+    AFX_IDS_SCPREVWINDOW    "Switch to the previous document window"
+    AFX_IDS_SCCLOSE         "Close the active window and prompts to save the documents"
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    AFX_IDS_SCRESTORE       "Restore the window to normal size"
+    AFX_IDS_SCTASKLIST      "Activate Task List"
+END
+
+STRINGTABLE DISCARDABLE 
+BEGIN
+    AFX_IDS_PREVIEW_CLOSE   "Close print preview mode\nCancel Preview"
+END
+
+#endif    // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+#define _AFX_NO_SPLITTER_RESOURCES
+#define _AFX_NO_OLE_RESOURCES
+#define _AFX_NO_TRACKER_RESOURCES
+#define _AFX_NO_PROPERTY_RESOURCES
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE 9, 1
+#pragma code_page(1252)
+#endif
+#include "res\HostApp.rc2"  // non-Microsoft Visual C++ edited resources
+#include "afxres.rc"         // Standard components
+#include "afxprint.rc"       // printing/print preview resources
+#endif
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppDoc.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppDoc.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppDoc.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,80 @@
+// HostAppDoc.cpp : implementation of the CHostAppDoc class
+//
+
+#include "stdafx.h"
+#include "HostApp.h"
+
+#include "HostAppDoc.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppDoc
+
+IMPLEMENT_DYNCREATE(CHostAppDoc, CDocument)
+
+BEGIN_MESSAGE_MAP(CHostAppDoc, CDocument)
+    //{{AFX_MSG_MAP(CHostAppDoc)
+	//}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppDoc construction/destruction
+
+CHostAppDoc::CHostAppDoc()
+{
+    // TODO: add one-time construction code here
+}
+
+CHostAppDoc::~CHostAppDoc()
+{
+}
+
+
+
+BOOL CHostAppDoc::OnNewDocument()
+{
+    if (!CDocument::OnNewDocument())
+        return FALSE;
+
+    return TRUE;
+}
+
+
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppDoc serialization
+
+void CHostAppDoc::Serialize(CArchive& ar)
+{
+    if (ar.IsStoring())
+    {
+        // TODO: add storing code here
+    }
+    else
+    {
+        // TODO: add loading code here
+    }
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppDoc diagnostics
+
+#ifdef _DEBUG
+void CHostAppDoc::AssertValid() const
+{
+    CDocument::AssertValid();
+}
+
+void CHostAppDoc::Dump(CDumpContext& dc) const
+{
+    CDocument::Dump(dc);
+}
+#endif //_DEBUG
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppDoc commands

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppDoc.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppDoc.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppDoc.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,56 @@
+// HostAppDoc.h : interface of the CHostAppDoc class
+//
+/////////////////////////////////////////////////////////////////////////////
+
+
+#if !defined(AFX_HOSTAPPDOC_H)
+#define AFX_HOSTAPPDOC_H
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+
+class CHostAppDoc : public CDocument
+{
+protected: // create from serialization only
+    CHostAppDoc();
+    DECLARE_DYNCREATE(CHostAppDoc)
+
+// Attributes
+public:
+
+// Operations
+public:
+
+// Overrides
+    // ClassWizard generated virtual function overrides
+    //{{AFX_VIRTUAL(CHostAppDoc)
+    public:
+    virtual BOOL OnNewDocument();
+    virtual void Serialize(CArchive& ar);
+    //}}AFX_VIRTUAL
+
+// Implementation
+public:
+    virtual ~CHostAppDoc();
+#ifdef _DEBUG
+    virtual void AssertValid() const;
+    virtual void Dump(CDumpContext& dc) const;
+#endif
+
+protected:
+
+// Generated message map functions
+protected:
+    //{{AFX_MSG(CHostAppDoc)
+	//}}AFX_MSG
+    DECLARE_MESSAGE_MAP()
+};
+
+/////////////////////////////////////////////////////////////////////////////
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_HOSTAPPDOC_H)

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppView.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppView.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppView.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,105 @@
+// HostAppView.cpp : implementation of the CHostAppView class
+//
+
+#include "stdafx.h"
+#include "HostApp.h"
+
+#include "HostAppDoc.h"
+#include "HostAppView.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppView
+
+IMPLEMENT_DYNCREATE(CHostAppView, CView)
+
+BEGIN_MESSAGE_MAP(CHostAppView, CView)
+    //{{AFX_MSG_MAP(CHostAppView)
+        // NOTE - the ClassWizard will add and remove mapping macros here.
+        //    DO NOT EDIT what you see in these blocks of generated code!
+    //}}AFX_MSG_MAP
+    // Standard printing commands
+    ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
+    ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
+    ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
+END_MESSAGE_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppView construction/destruction
+
+CHostAppView::CHostAppView()
+{
+    // TODO: add construction code here
+
+}
+
+CHostAppView::~CHostAppView()
+{
+}
+
+BOOL CHostAppView::PreCreateWindow(CREATESTRUCT& cs)
+{
+    // TODO: Modify the Window class or styles here by modifying
+    //  the CREATESTRUCT cs
+
+    return CView::PreCreateWindow(cs);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppView drawing
+
+void CHostAppView::OnDraw(CDC* pDC)
+{
+    CHostAppDoc* pDoc = GetDocument();
+    ASSERT_VALID(pDoc);
+
+    // TODO: add draw code for native data here
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppView printing
+
+BOOL CHostAppView::OnPreparePrinting(CPrintInfo* pInfo)
+{
+    // default preparation
+    return DoPreparePrinting(pInfo);
+}
+
+void CHostAppView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
+{
+    // TODO: add extra initialization before printing
+}
+
+void CHostAppView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
+{
+    // TODO: add cleanup after printing
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppView diagnostics
+
+#ifdef _DEBUG
+void CHostAppView::AssertValid() const
+{
+    CView::AssertValid();
+}
+
+void CHostAppView::Dump(CDumpContext& dc) const
+{
+    CView::Dump(dc);
+}
+
+CHostAppDoc* CHostAppView::GetDocument() // non-debug version is inline
+{
+    ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CHostAppDoc)));
+    return (CHostAppDoc*)m_pDocument;
+}
+#endif //_DEBUG
+
+/////////////////////////////////////////////////////////////////////////////
+// CHostAppView message handlers

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppView.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppView.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/HostAppView.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,66 @@
+// HostAppView.h : interface of the CHostAppView class
+//
+/////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_HOSTAPPVIEW_H)
+#define AFX_HOSTAPPVIEW_H
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+class CHostAppView : public CView
+{
+protected: // create from serialization only
+    CHostAppView();
+    DECLARE_DYNCREATE(CHostAppView)
+
+// Attributes
+public:
+    CHostAppDoc* GetDocument();
+
+// Operations
+public:
+
+// Overrides
+    // ClassWizard generated virtual function overrides
+    //{{AFX_VIRTUAL(CHostAppView)
+    public:
+    virtual void OnDraw(CDC* pDC);  // overridden to draw this view
+    virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
+    protected:
+    virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
+    virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
+    virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
+    //}}AFX_VIRTUAL
+
+// Implementation
+public:
+    virtual ~CHostAppView();
+#ifdef _DEBUG
+    virtual void AssertValid() const;
+    virtual void Dump(CDumpContext& dc) const;
+#endif
+
+protected:
+
+// Generated message map functions
+protected:
+    //{{AFX_MSG(CHostAppView)
+        // NOTE - the ClassWizard will add and remove member functions here.
+        //    DO NOT EDIT what you see in these blocks of generated code !
+    //}}AFX_MSG
+    DECLARE_MESSAGE_MAP()
+};
+
+#ifndef _DEBUG  // debug version in HostAppView.cpp
+inline CHostAppDoc* CHostAppView::GetDocument()
+   { return (CHostAppDoc*)m_pDocument; }
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_HOSTAPPVIEW_H)

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/MainFrm.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/MainFrm.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/MainFrm.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,107 @@
+// MainFrm.cpp : implementation of the CMainFrame class
+//
+
+#include "stdafx.h"
+#include "HostApp.h"
+
+#include "MainFrm.h"
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#undef THIS_FILE
+static char THIS_FILE[] = __FILE__;
+#endif
+
+/////////////////////////////////////////////////////////////////////////////
+// CMainFrame
+
+IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
+
+BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
+    //{{AFX_MSG_MAP(CMainFrame)
+        // NOTE - the ClassWizard will add and remove mapping macros here.
+        //    DO NOT EDIT what you see in these blocks of generated code !
+    ON_WM_CREATE()
+    //}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+static UINT indicators[] =
+{
+    ID_SEPARATOR,           // status line indicator
+    ID_INDICATOR_CAPS,
+    ID_INDICATOR_NUM,
+    ID_INDICATOR_SCRL,
+};
+
+/////////////////////////////////////////////////////////////////////////////
+// CMainFrame construction/destruction
+
+CMainFrame::CMainFrame()
+{
+    // TODO: add member initialization code here
+    
+}
+
+CMainFrame::~CMainFrame()
+{
+}
+
+int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
+{
+    if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
+        return -1;
+    
+    if (!m_wndToolBar.Create(this) ||
+        !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
+    {
+        TRACE0("Failed to create toolbar\n");
+        return -1;      // fail to create
+    }
+
+    if (!m_wndStatusBar.Create(this) ||
+        !m_wndStatusBar.SetIndicators(indicators,
+          sizeof(indicators)/sizeof(UINT)))
+    {
+        TRACE0("Failed to create status bar\n");
+        return -1;      // fail to create
+    }
+
+    // TODO: Remove this if you don't want tool tips or a resizeable toolbar
+    m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
+        CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
+
+    // TODO: Delete these three lines if you don't want the toolbar to
+    //  be dockable
+    m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
+    EnableDocking(CBRS_ALIGN_ANY);
+    DockControlBar(&m_wndToolBar);
+
+    return 0;
+}
+
+BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
+{
+    // TODO: Modify the Window class or styles here by modifying
+    //  the CREATESTRUCT cs
+
+    return CFrameWnd::PreCreateWindow(cs);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// CMainFrame diagnostics
+
+#ifdef _DEBUG
+void CMainFrame::AssertValid() const
+{
+    CFrameWnd::AssertValid();
+}
+
+void CMainFrame::Dump(CDumpContext& dc) const
+{
+    CFrameWnd::Dump(dc);
+}
+
+#endif //_DEBUG
+
+/////////////////////////////////////////////////////////////////////////////
+// CMainFrame message handlers

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/MainFrm.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/MainFrm.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/MainFrm.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,57 @@
+// MainFrm.h : interface of the CMainFrame class
+//
+/////////////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_MAINFRM_H__A9C94DEB_1663_11D2_A499_00805FC1C042__INCLUDED_)
+#define AFX_MAINFRM_H__A9C94DEB_1663_11D2_A499_00805FC1C042__INCLUDED_
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+class CMainFrame : public CFrameWnd
+{
+protected: // create from serialization only
+    CMainFrame();
+    DECLARE_DYNCREATE(CMainFrame)
+
+// Attributes
+public:
+
+// Operations
+public:
+
+// Overrides
+    // ClassWizard generated virtual function overrides
+    //{{AFX_VIRTUAL(CMainFrame)
+    virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
+    //}}AFX_VIRTUAL
+
+// Implementation
+public:
+    virtual ~CMainFrame();
+#ifdef _DEBUG
+    virtual void AssertValid() const;
+    virtual void Dump(CDumpContext& dc) const;
+#endif
+
+protected:  // control bar embedded members
+    CStatusBar  m_wndStatusBar;
+    CToolBar    m_wndToolBar;
+
+// Generated message map functions
+protected:
+    //{{AFX_MSG(CMainFrame)
+    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
+        // NOTE - the ClassWizard will add and remove member functions here.
+        //    DO NOT EDIT what you see in these blocks of generated code!
+    //}}AFX_MSG
+    DECLARE_MESSAGE_MAP()
+};
+
+/////////////////////////////////////////////////////////////////////////////
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_MAINFRM_H__A9C94DEB_1663_11D2_A499_00805FC1C042__INCLUDED_)

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/Makefile.am
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/Makefile.am	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/Makefile.am	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,4 @@
+SUBDIRS = res
+
+EXTRA_DIST = HostApp.rc
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/Resource.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/Resource.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/Resource.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,20 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by HostApp.rc
+//
+#define IDD_ABOUTBOX                    100
+#define IDR_MAINFRAME                   128
+#define IDR_HOSTAPTYPE                  129
+#define ID_TESTS_RUNALL                 32771
+
+// Next default values for new objects
+// 
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_3D_CONTROLS                     1
+#define _APS_NEXT_RESOURCE_VALUE        130
+#define _APS_NEXT_COMMAND_VALUE         32772
+#define _APS_NEXT_CONTROL_VALUE         1000
+#define _APS_NEXT_SYMED_VALUE           101
+#endif
+#endif

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/StdAfx.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/StdAfx.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/StdAfx.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,6 @@
+// stdafx.cpp : source file that includes just the standard includes
+//  HostApp.pch will be the pre-compiled header
+//  stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/StdAfx.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/StdAfx.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/StdAfx.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,26 @@
+// stdafx.h : include file for standard system include files,
+//  or project specific include files that are used frequently, but
+//      are changed infrequently
+//
+
+#if !defined(AFX_STDAFX_H__A9C94DE9_1663_11D2_A499_00805FC1C042__INCLUDED_)
+#define AFX_STDAFX_H__A9C94DE9_1663_11D2_A499_00805FC1C042__INCLUDED_
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+#define VC_EXTRALEAN        // Exclude rarely-used stuff from Windows headers
+
+#include <afxwin.h>         // MFC core and standard components
+#include <afxext.h>         // MFC extensions
+#ifndef _AFX_NO_AFXCMN_SUPPORT
+#include <afxcmn.h>         // MFC support for Windows Common Controls
+#endif // _AFX_NO_AFXCMN_SUPPORT
+
+#pragma warning( disable : 4786 )
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_STDAFX_H__A9C94DE9_1663_11D2_A499_00805FC1C042__INCLUDED_)

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/.cvsignore
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/.cvsignore	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/.cvsignore	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1 @@
+Makefile.in

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/HostApp.ico
===================================================================
(Binary files differ)


Property changes on: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/HostApp.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/HostApp.rc2
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/HostApp.rc2	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/HostApp.rc2	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,13 @@
+//
+// HOSTAPP.RC2 - resources Microsoft Visual C++ does not edit directly
+//
+
+#ifdef APSTUDIO_INVOKED
+	#error this file is not editable by Microsoft Visual C++
+#endif //APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+// Add manually edited resources here...
+
+/////////////////////////////////////////////////////////////////////////////

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/HostAppDoc.ico
===================================================================
(Binary files differ)


Property changes on: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/HostAppDoc.ico
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/Makefile.am
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/Makefile.am	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/Makefile.am	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,4 @@
+SUBDIRS = res
+
+EXTRA_DIST = Toolbar.bmp HostApp.ico HostAppDoc.ico HostApp.rc2
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/Toolbar.bmp
===================================================================
(Binary files differ)


Property changes on: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/HostApp/res/Toolbar.bmp
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/Makefile.am
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/Makefile.am	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/Makefile.am	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,2 @@
+SUBDIRS = HostApp CppUnitTestApp
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/TestPlugIn/.cvsignore
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/TestPlugIn/.cvsignore	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/msvc6/TestPlugIn/.cvsignore	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1 @@
+*.WW

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/.cvsignore
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/.cvsignore	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/.cvsignore	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1 @@
+Makefile
\ No newline at end of file

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/Example.pro
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/Example.pro	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/Example.pro	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,11 @@
+TEMPLATE	= app
+CONFIG		= qt warn_on release thread
+win32-msvc:INCLUDEPATH		= ../../include
+win32-msvc:LIBS			= ../../lib/cppunit.lib ../../lib/qttestrunner.lib
+win32-msvc:TMAKE_CXXFLAGS	= /GX /GR
+win32-msvc:DEFINES		= QT_DLL QTTESTRUNNER_DLL
+HEADERS		= ExampleTestCase.h
+SOURCES		= ExampleTestCase.cpp \
+		  Main.cpp
+INTERFACES	= 
+TARGET		= example
\ No newline at end of file

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/ExampleTestCase.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/ExampleTestCase.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/ExampleTestCase.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,50 @@
+#include "ExampleTestCase.h"
+
+CPPUNIT_TEST_SUITE_REGISTRATION( ExampleTestCase );
+
+void ExampleTestCase::example ()
+{
+   CPPUNIT_ASSERT_DOUBLES_EQUAL (1.0, 1.1, 0.05);
+   CPPUNIT_ASSERT (1 == 0);
+   CPPUNIT_ASSERT (1 == 1);
+}
+
+
+void ExampleTestCase::anotherExample ()
+{
+   CPPUNIT_ASSERT (1 == 2);
+}
+
+void ExampleTestCase::setUp ()
+{
+   m_value1 = 2.0;
+   m_value2 = 3.0;
+}
+
+void ExampleTestCase::testAdd ()
+{
+   double result = m_value1 + m_value2;
+   CPPUNIT_ASSERT (result == 6.0);
+}
+
+
+void ExampleTestCase::testDivideByZero ()
+{
+   int	zero	= 0;
+   int result	= 8 / zero;
+}
+
+
+void ExampleTestCase::testEquals ()
+{
+   std::auto_ptr<long>	l1 (new long (12));
+   std::auto_ptr<long>	l2 (new long (12));
+   
+   CPPUNIT_ASSERT_EQUAL (12, 12);
+   CPPUNIT_ASSERT_EQUAL (12L, 12L);
+   CPPUNIT_ASSERT_EQUAL (*l1, *l2);
+   
+   CPPUNIT_ASSERT (12L == 12L);
+   CPPUNIT_ASSERT_EQUAL (12, 13);
+   CPPUNIT_ASSERT_DOUBLES_EQUAL (12.0, 11.99, 0.5);
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/ExampleTestCase.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/ExampleTestCase.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/ExampleTestCase.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,41 @@
+#ifndef CPP_UNIT_EXAMPLETESTCASE_H
+#define CPP_UNIT_EXAMPLETESTCASE_H
+
+#include <cppunit/TestFixture.h>
+#include <cppunit/extensions/HelperMacros.h>
+
+/* 
+ * A test case that is designed to produce
+ * example errors and failures
+ *
+ */
+
+class ExampleTestCase : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( ExampleTestCase );
+  CPPUNIT_TEST( example );
+  CPPUNIT_TEST( anotherExample );
+  CPPUNIT_TEST( testAdd );
+  CPPUNIT_TEST( testDivideByZero );
+  CPPUNIT_TEST( testEquals );
+  CPPUNIT_TEST_SUITE_END();
+protected:
+
+	double			m_value1;
+	double			m_value2;
+
+public:
+
+	void			setUp ();
+
+protected:
+	void			example ();
+	void			anotherExample ();
+	void			testAdd ();
+	void			testDivideByZero ();
+	void			testEquals ();
+
+};
+
+
+#endif

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/Main.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/Main.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/Main.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,16 @@
+#include <qapplication.h>
+#include <cppunit/ui/qt/TestRunner.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+
+
+int main( int argc, char** argv )
+{
+	QApplication app( argc, argv );
+
+	CPPUNIT_NS::QtUi::TestRunner runner;
+	runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );
+	runner.run( true );
+
+	return 0;
+}
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/build.bat
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/build.bat	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/build.bat	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,3 @@
+tmake Example.pro -o Makefile
+nmake clean
+nmake

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/run.bat
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/run.bat	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/qt/run.bat	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,2 @@
+SET PATH=%PATH%;..\..\lib
+Example.exe
\ No newline at end of file

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/ExampleTestCase.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/ExampleTestCase.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/ExampleTestCase.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,53 @@
+#include "ExampleTestCase.h"
+
+CPPUNIT_TEST_SUITE_REGISTRATION( ExampleTestCase );
+
+void ExampleTestCase::example()
+{
+  CPPUNIT_ASSERT_DOUBLES_EQUAL( 1.0, 1.1, 0.05 );
+  CPPUNIT_ASSERT( 1 == 0 );
+  CPPUNIT_ASSERT( 1 == 1 );
+}
+
+
+void ExampleTestCase::anotherExample()
+{
+  CPPUNIT_ASSERT (1 == 2);
+}
+
+void ExampleTestCase::setUp()
+{
+  m_value1 = 2.0;
+  m_value2 = 3.0;
+}
+
+void ExampleTestCase::testAdd()
+{
+  double result = m_value1 + m_value2;
+  CPPUNIT_ASSERT( result == 6.0 );
+}
+
+
+void ExampleTestCase::testDivideByZero()
+{
+  int zero = 0;
+  int result = 8 / zero;
+}
+
+
+void ExampleTestCase::testEquals()
+{
+  long* l1 = new long(12);
+  long* l2 = new long(12);
+
+  CPPUNIT_ASSERT_EQUAL( 12, 12 );
+  CPPUNIT_ASSERT_EQUAL( 12L, 12L );
+  CPPUNIT_ASSERT_EQUAL( *l1, *l2 );
+
+  delete l1;
+  delete l2;
+
+  CPPUNIT_ASSERT( 12L == 12L );
+  CPPUNIT_ASSERT_EQUAL( 12, 13 );
+  CPPUNIT_ASSERT_DOUBLES_EQUAL( 12.0, 11.99, 0.5 );
+}

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/ExampleTestCase.h
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/ExampleTestCase.h	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/ExampleTestCase.h	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,39 @@
+
+#ifndef CPP_UNIT_EXAMPLETESTCASE_H
+#define CPP_UNIT_EXAMPLETESTCASE_H
+
+#include <cppunit/extensions/HelperMacros.h>
+
+/* 
+ * A test case that is designed to produce
+ * example errors and failures
+ *
+ */
+
+class ExampleTestCase : public CPPUNIT_NS::TestFixture
+{
+  CPPUNIT_TEST_SUITE( ExampleTestCase );
+  CPPUNIT_TEST( example );
+  CPPUNIT_TEST( anotherExample );
+  CPPUNIT_TEST( testAdd );
+  CPPUNIT_TEST( testDivideByZero );
+  CPPUNIT_TEST( testEquals );
+  CPPUNIT_TEST_SUITE_END();
+
+protected:
+  double m_value1;
+  double m_value2;
+
+public:
+  void setUp();
+
+protected:
+  void example();
+  void anotherExample();
+  void testAdd();
+  void testDivideByZero();
+  void testEquals();
+};
+
+
+#endif

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/Main.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/Main.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/Main.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,34 @@
+#include <cppunit/BriefTestProgressListener.h>
+#include <cppunit/CompilerOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/TestResult.h>
+#include <cppunit/TestResultCollector.h>
+#include <cppunit/TestRunner.h>
+
+
+int
+main( int argc, char* argv[] )
+{
+  // Create the event manager and test controller
+  CPPUNIT_NS::TestResult controller;
+
+  // Add a listener that colllects test result
+  CPPUNIT_NS::TestResultCollector result;
+  controller.addListener( &result );        
+
+  // Add a listener that print dots as test run.
+  CPPUNIT_NS::BriefTestProgressListener progress;
+  controller.addListener( &progress );      
+
+  // Add the top suite to the test runner
+  CPPUNIT_NS::TestRunner runner;
+  runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );
+  runner.run( controller );
+
+  // Print test in a compiler compatible format.
+  CPPUNIT_NS::CompilerOutputter outputter( &result, std::cerr );
+  outputter.write(); 
+
+  return result.wasSuccessful() ? 0 : 1;
+}
+

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/Makefile.am
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/Makefile.am	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/Makefile.am	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,12 @@
+EXTRA_DIST = simple.dsp simple_plugin.dsp SimplePlugIn.cpp
+
+INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
+
+bin_PROGRAMS=simple
+
+simple_SOURCES= ExampleTestCase.cpp Main.cpp  ExampleTestCase.h
+
+simple_LDADD= \
+  $(top_builddir)/src/cppunit/libcppunit.la 
+
+simple_LDFLAGS = $(LIBADD_DL)

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/Makefile.in
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/Makefile.in	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/Makefile.in	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,471 @@
+# Makefile.in generated by automake 1.7.5 from Makefile.am.
+# @configure_input@
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPUNIT_BINARY_AGE = @CPPUNIT_BINARY_AGE@
+CPPUNIT_INTERFACE_AGE = @CPPUNIT_INTERFACE_AGE@
+CPPUNIT_MAJOR_VERSION = @CPPUNIT_MAJOR_VERSION@
+CPPUNIT_MICRO_VERSION = @CPPUNIT_MICRO_VERSION@
+CPPUNIT_MINOR_VERSION = @CPPUNIT_MINOR_VERSION@
+CPPUNIT_VERSION = @CPPUNIT_VERSION@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOC_FALSE = @DOC_FALSE@
+DOC_TRUE = @DOC_TRUE@
+DOT = @DOT@
+DOXYGEN = @DOXYGEN@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBADD_DL = @LIBADD_DL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_AGE = @LT_AGE@
+LT_CURRENT = @LT_CURRENT@
+LT_RELEASE = @LT_RELEASE@
+LT_REVISION = @LT_REVISION@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+enable_dot = @enable_dot@
+enable_html_docs = @enable_html_docs@
+enable_latex_docs = @enable_latex_docs@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+EXTRA_DIST = simple.dsp simple_plugin.dsp SimplePlugIn.cpp
+
+INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
+
+bin_PROGRAMS = simple
+
+simple_SOURCES = ExampleTestCase.cpp Main.cpp  ExampleTestCase.h
+
+simple_LDADD = \
+  $(top_builddir)/src/cppunit/libcppunit.la 
+
+
+simple_LDFLAGS = $(LIBADD_DL)
+subdir = examples/simple
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config/config.h
+CONFIG_CLEAN_FILES =
+bin_PROGRAMS = simple$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS)
+
+am_simple_OBJECTS = ExampleTestCase.$(OBJEXT) Main.$(OBJEXT)
+simple_OBJECTS = $(am_simple_OBJECTS)
+simple_DEPENDENCIES = $(top_builddir)/src/cppunit/libcppunit.la
+
+DEFAULT_INCLUDES =  -I. -I$(srcdir) -I$(top_builddir)/config
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+ at AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/ExampleTestCase.Po \
+ at AMDEP_TRUE@	./$(DEPDIR)/Main.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
+	$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(simple_SOURCES)
+DIST_COMMON = Makefile.am Makefile.in
+SOURCES = $(simple_SOURCES)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  examples/simple/Makefile
+Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(bindir)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	     || test -f $$p1 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
+	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
+	  rm -f $(DESTDIR)$(bindir)/$$f; \
+	done
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+simple$(EXEEXT): $(simple_OBJECTS) $(simple_DEPENDENCIES) 
+	@rm -f simple$(EXEEXT)
+	$(CXXLINK) $(simple_LDFLAGS) $(simple_OBJECTS) $(simple_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT) core *.core
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ExampleTestCase.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Main.Po at am__quote@
+
+distclean-depend:
+	-rm -rf ./$(DEPDIR)
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCXX_TRUE@	  -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+ at am__fastdepCXX_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCXX_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(ETAGS_ARGS)$$tags$$unique" \
+	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	     $$tags $$unique
+
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = ../..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkinstalldirs) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+
+installdirs:
+	$(mkinstalldirs) $(DESTDIR)$(bindir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-compile distclean-depend \
+	distclean-generic distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libtool ctags distclean distclean-compile \
+	distclean-depend distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am info info-am install \
+	install-am install-binPROGRAMS install-data install-data-am \
+	install-exec install-exec-am install-info install-info-am \
+	install-man install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-binPROGRAMS uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/SimplePlugIn.cpp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/SimplePlugIn.cpp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/SimplePlugIn.cpp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,8 @@
+// EasyTestPlugIn.cpp : Defines the entry point for the DLL application.
+//
+
+#include <cppunit/plugin/TestPlugIn.h>
+
+
+// Implements all the plug-in stuffs, WinMain...
+CPPUNIT_PLUGIN_IMPLEMENT();

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/simple.dsp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/simple.dsp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/simple.dsp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,104 @@
+# Microsoft Developer Studio Project File - Name="simple" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=simple - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "simple.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "simple.mak" CFG="simple - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "simple - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "simple - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "simple - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x40c /d "NDEBUG"
+# ADD RSC /l 0x40c /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunit.lib /nologo /subsystem:console /machine:I386 /libpath:"../../lib/"
+
+!ELSEIF  "$(CFG)" == "simple - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunitd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"../../lib/"
+
+!ENDIF 
+
+# Begin Target
+
+# Name "simple - Win32 Release"
+# Name "simple - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\ExampleTestCase.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ExampleTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\Main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\Makefile.am
+# End Source File
+# End Target
+# End Project

Added: sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/simple_plugin.dsp
===================================================================
--- sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/simple_plugin.dsp	                        (rev 0)
+++ sandbox/jng/diet_vs2015/Oem/CppUnit-1.9.14/examples/simple/simple_plugin.dsp	2015-11-03 01:11:30 UTC (rev 8805)
@@ -0,0 +1,117 @@
+# Microsoft Developer Studio Project File - Name="simple_plugin" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=simple_plugin - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "simple_plugin.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "simple_plugin.mak" CFG="simple_plugin - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "simple_plugin - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "simple_plugin - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "simple_plugin - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "simple_plugin___Win32_Release"
+# PROP BASE Intermediate_Dir "simple_plugin___Win32_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "ReleasePlugIn"
+# PROP Intermediate_Dir "ReleasePlugIn"
+# PROP Ignore_Export_Lib 1
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SIMPLE_PLUGIN_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SIMPLE_PLUGIN_EXPORTS" /D "CPPUNIT_DLL" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40c /d "NDEBUG"
+# ADD RSC /l 0x40c /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunit_dll.lib /nologo /dll /machine:I386 /libpath:"../../lib/"
+# Begin Special Build Tool
+TargetPath=.\ReleasePlugIn\simple_plugin.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Running tests...
+PostBuild_Cmds=..\..\lib\DllPlugInTester_dll.exe $(TargetPath)
+# End Special Build Tool
+
+!ELSEIF  "$(CFG)" == "simple_plugin - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "simple_plugin___Win32_Debug"
+# PROP BASE Intermediate_Dir "simple_plugin___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "DebugPlugIn"
+# PROP Intermediate_Dir "DebugPlugIn"
+# PROP Ignore_Export_Lib 1
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SIMPLE_PLUGIN_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /I "../../include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SIMPLE_PLUGIN_EXPORTS" /D "CPPUNIT_DLL" /FD /GZ /c
+# SUBTRACT CPP /YX
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cppunitd_dll.lib /nologo /dll /debug /machine:I386 /out:"DebugPlugIn/simple_plugind.dll" /pdbtype:sept /libpath:"../../lib/"
+# Begin Special Build Tool
+TargetPath=.\DebugPlugIn\simple_plugind.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Running tests...
+PostBuild_Cmds=..\..\lib\DllPlugInTesterd_dll.exe -b --xml tests.xml -c $(TargetPath)
+# End Special Build Tool
+
+!ENDIF 
+
+# Begin Target
+
+# Name "simple_plugin - Win32 Release"
+# Name "simple_plugin - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\ExampleTestCase.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ExampleTestCase.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\SimplePlugIn.cpp
+# End Source File
+# End Target
+# End Project



More information about the mapguide-commits mailing list