diff --git a/alib2common/test-src/measurements/MeasurementsTest.cpp b/alib2common/test-src/measurements/MeasurementsTest.cpp
index 2e2e42115844b38db4432de497543d93bffd4608..5f3452d2e557a0b5136605dc747bfb5b0ca710c8 100644
--- a/alib2common/test-src/measurements/MeasurementsTest.cpp
+++ b/alib2common/test-src/measurements/MeasurementsTest.cpp
@@ -62,6 +62,19 @@ void MeasurementsTest::testTimeMeasurements ( ) {
 	measurements::end ( );
 	measurements::end ( );
 
+
+	//root, global1, init, main, aux, aux, fin,aux,...,global2,...,global3, init, main, aux, aux
+	int expectedResults [ ] = {0, 510000, 100000, 260000, 40000, 40000, 150000, 40000, 100000, 360000, 100000, 260000, 40000, 40000 };
+	const int DEVIATION = 25000;
+
+	auto results = measurements::results ( );
+
+	int i = 0;
+	for(const measurements::MeasurementFrame & frame : results.frames) {
+		CPPUNIT_ASSERT ( std::abs ( expectedResults[i] - frame.time.duration.count ( ) ) <= DEVIATION );
+		i++;
+	}
+
 	std::cout << measurements::MeasurementFormat::LIST << measurements::results ( ) << std::endl;
 	std::cout << measurements::MeasurementFormat::TREE << measurements::results ( ) << std::endl;
 	std::cout << measurements::MeasurementFormat::XML << measurements::results ( ) << std::endl;
@@ -92,6 +105,20 @@ void MeasurementsTest::testMemoryMeasurements ( ) {
 	measurements::end ( );
 	measurements::end ( );
 
+	int expectedResultsHW [ ]  = { 12000, 2000, 12000 , 12000, 4000, 4000 };
+	int expectedResultsSHU [ ] = { 0, 0   , 4000  , 4000 , 0   , 0    };
+	int expectedResultsEHU [ ] = { 0, 2000, 0     , 12000, 0   , 0    };
+
+	auto results = measurements::results ( );
+
+	int i = 0;
+	for(const measurements::MeasurementFrame & frame : results.frames) {
+		CPPUNIT_ASSERT ( expectedResultsHW[i] ==  frame.memory.highWatermark );
+		CPPUNIT_ASSERT ( expectedResultsSHU[i] == frame.memory.startHeapUsage );
+		CPPUNIT_ASSERT ( expectedResultsEHU[i] == frame.memory.endHeapUsage );
+		i++;
+	}
+
 	std::cout << measurements::MeasurementFormat::LIST << measurements::results ( ) << std::endl;
 	std::cout << measurements::MeasurementFormat::TREE << measurements::results ( ) << std::endl;
 	std::cout << measurements::MeasurementFormat::XML << measurements::results ( ) << std::endl;
@@ -119,6 +146,32 @@ void MeasurementsTest::testCounterMeasurements ( ) {
 	measurements::end ( );
 	measurements::end ( );
 
+	std::map < std::string, int > expectedResults [ ] = {
+		{ } ,
+		{ { "test1", 3 } , { "test2", -19 } , { "test3", -3 } , { "test4", -2 } } ,
+		{ { "test1", 3 } , { "test2", -19 } , { "test3", -3 } , { "test4", -2 } } ,
+		{ { "test1", 4 } , { "test2", -9 } , { "test3", -2 } , { "test4", -1 } } ,
+		{ { "test1", 3 } , { "test2", -19 } , { "test3", -3 } , { "test4", -2 } } ,
+	};
+
+	auto results = measurements::results ( );
+
+	int i = 0;
+	for(const measurements::MeasurementFrame & frame : results.frames) {
+
+		auto erit = expectedResults[i].begin ( );
+		auto it = frame.counter.counters.begin ( );
+
+		while ( erit != expectedResults[i].end ( ) ) {
+			CPPUNIT_ASSERT ( erit->first == measurements::to_string ( it->first ) );
+			CPPUNIT_ASSERT ( erit->second == it->second );
+			++erit;
+			++it;
+		}
+
+		i++;
+	}
+
 	std::cout << measurements::MeasurementFormat::LIST << measurements::results ( ) << std::endl;
 	std::cout << measurements::MeasurementFormat::TREE << measurements::results ( ) << std::endl;
 	std::cout << measurements::MeasurementFormat::XML << measurements::results ( ) << std::endl;