| 
					
				 | 
			
			
				@@ -23,9 +23,12 @@ static void testOverflow(Test& test) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     test.checkEqual(false, r3, "check buffer write return value 3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     test.checkEqual(true, r4, "check buffer write return value 4"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     test.checkEqual(true, r5, "check buffer write return value 5"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test.checkEqual(1, buffer.read(), "can read value from overflowed buffer 1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test.checkEqual(2, buffer.read(), "can read value from overflowed buffer 2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test.checkEqual(3, buffer.read(), "can read value from overflowed buffer 3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test.checkEqual(1, buffer.read(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "can read value from overflowed buffer 1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test.checkEqual(2, buffer.read(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "can read value from overflowed buffer 2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test.checkEqual(3, buffer.read(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "can read value from overflowed buffer 3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     test.checkEqual(false, buffer.canRead(), "values are gone after full read"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -36,17 +39,31 @@ static void testRefill(Test& test) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     buffer.write(3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     buffer.write(4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     test.checkEqual(true, buffer.canRead(), "values are ready to be read 2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test.checkEqual(1, buffer.read(), "can read value from overflowed buffer 1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test.checkEqual(2, buffer.read(), "can read value from overflowed buffer 2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test.checkEqual(3, buffer.read(), "can read value from overflowed buffer 3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test.checkEqual(false, buffer.canRead(), "values are gone after full read 1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test.checkEqual(1, buffer.read(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "can read value from overflowed buffer 1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test.checkEqual(2, buffer.read(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "can read value from overflowed buffer 2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test.checkEqual(3, buffer.read(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "can read value from overflowed buffer 3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test.checkEqual(false, buffer.canRead(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "values are gone after full read 1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     buffer.write(5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     buffer.write(6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     test.checkEqual(true, buffer.canRead(), "values are ready to be read 2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test.checkEqual(5, buffer.read(), "can read value from overflowed buffer 4"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test.checkEqual(6, buffer.read(), "can read value from overflowed buffer 5"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    test.checkEqual(false, buffer.canRead(), "values are gone after full read 1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test.checkEqual(5, buffer.read(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "can read value from overflowed buffer 4"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test.checkEqual(6, buffer.read(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "can read value from overflowed buffer 5"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test.checkEqual(false, buffer.canRead(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "values are gone after full read 1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void testClear(Test& test) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    RingBuffer<int, 3> buffer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    buffer.write(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    buffer.write(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    buffer.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    test.checkEqual(false, buffer.canRead(), "no read after clear"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void RingBufferTests::test() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -54,5 +71,6 @@ void RingBufferTests::test() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     testReadAndWrite(test); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     testOverflow(test); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     testRefill(test); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    testClear(test); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     test.finalize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |