< ? x m l   v e r s i o n = " 1 . 0 "   e n c o d i n g = " U T F - 1 6 " ? > 
 
 D o c u m e n t a t i o n 
 
 T U T   H o w - T o 
 
 m i n i m u m   s t e p s   t o   m a k e   T U T   w o r k   f o r   y o u 
 
 
 
 
 
         1   W h a t   i s   T U T 
 
 
 
                 
 
                         T U T   i s   a   p u r e   C + +   u n i t   t e s t   f r a m e w o r k .   I t s   n a m e   -   T U T   -   s t a n d s   f o r   T e m p l a t e   U n i t   T e s t s . 
 
                 
 
         
 
 
 
 
 
         2   F e a t u r e s 
 
 
 
                 
 
                         T U T   p r o v i d e s   a l l   f e a t u r e s   r e q u i r e d   f o r   u n i t   t e s t i n g : 
 
                 
 
                 
 
                         S i m i l a r   t e s t s   c a n   b e   g r o u p e d   t o g e t h e r   i n t o   t e s t   g r o u p s .   E a c h   t e s t   g r o u p   h a s   i t s   u n i q u e   n a m e   a n d   i s   l o c a t e d   i n   a   s e p a r a t e   c o m p i l a t i o n   u n i t .   O n e   g r o u p   c a n   c o n t a i n   a l m o s t   u n l i m i t e d   n u m b e r   o f   t e s t s   ( a c t u a l l y ,   t h e   l i m i t   i s   t h e   c o m p i l e r   t e m p l a t e   r e c u r s i o n   d e p t h ) . 
 
                         U s e r   c a n   r u n   a l l   t h e   t e s t s   ( r e g r e s s i o n ) ,   o r   j u s t   s o m e   s e l e c t e d   g r o u p s   o r   e v e n   s o m e   t e s t s   i n   t h e s e   g r o u p s . 
 
                         T U T   p r o v i d e s   s p e c i a l   t e m p l a t e   f u n c t i o n s   t o   c h e c k   t h e   c o n d i t i o n   v a l i d i t y   a t   r u n - t i m e   a n d   t o   f o r c e   t e s t   f a i l u r e   i f   r e q u i r e d .   S i n c e   C + +   d o e s n ' t   p r o v i d e   a   f a c i l i t y   f o r   o b t a i n i n g   s t a c k   t r a c e   o f   t h e   t h r o w e d   e x c e p t i o n   a n d   T U T   a v o i d s   m a c r o s ,   t h o s e   f u n c t i o n s   a c c e p t   s t r i n g   m a r k e r   t o   a l l o w   u s e r s   e a s e l y   d e t e r m i n e   t h e   s o u r c e   o f   e x c e p t i o n . 
 
                         T U T   c o n t a i n s   c a l l b a c k   t h a t   c a n   b e   i m p l e m e n t e d   b y   t h e   c a l l i n g   c o d e   t o   i n t e g r a t e   w i t h   a n   I D E ,   f o r   e x a m p l e .   C a l l b a c k s   t e l l   l i s t e n e r   w h e n   a   n e w   t e s t   r u n   s t a r t e d ,   w h e n   t e s t   r u n n e r   s w i t c h e s   t o   t h e   n e x t   t e s t s   g r o u p ,   w h e n   a   t e s t   w a s   c o m p l e t e d   ( a n d   w h a t   r e s u l t   i t   h a s ) ,   a n d   w h e n   t e s t   r u n   w a s   f i n i s h e d .   T h e   c a l l b a c k s   a l l o w   u s e r s   t o   p r o d u c e   t h e i r   o w n   v i s u a l i z a t i o n   f o r m a t   f o r   t e s t   p r o c e s s   a n d   r e s u l t s . 
 
                         B e i n g   a   t e m p l a t e   l i b r a r y ,   i t   d o e s n ' t   n e e d   c o m p i l a t i o n ;   j u s t   i n c l u d e   t h e   & l t ; t u t . h & g t ;   h e a d e r   i n t o   t h e   t e s t   m o d u l e s . 
 
                 
 
 
 
         
 
 
 
         3   T U T   t e s t s   o r g a n i z a t i o n 
 
 
 
                 3 . 1   T e s t   a p p l i c a t i o n 
 
                         C + +   p r o d u c e s   e x e c u t a b l e   c o d e ,   s o   t e s t s   h a v e   t o   b e   c o m p i l e d   i n t o   a   s i n g l e   b i n a r y   c a l l e d   t e s t   a p p l i c a t i o n .   T h e   a p p l i c a t i o n   c a n   b e   b u i l t   i n   a u t o m a t e d   m o d e   t o   p e r f o r m   n i g h t l y   t e s t s .   T h e y   a l s o   c a n   b e   b u i l t   m a n u a l l y   w h e n   a   d e v e l o p e r   h u n t s   f o r   b u g s . 
 
                         T h e   t e s t   a p p l i c a t i o n   c o n t a i n s   t e s t s ,   o r g a n i z e d   i n t o   t e s t   g r o u p s . 
 
                 
 
         
 
 
 
         4   T e s t   g r o u p s 
 
 
 
                 T h e   f u n c t i o n a l i t y   o f   a   t e s t e d   a p p l i c a t i o n   c a n   b e   d i v i d e d   i n t o   a   f e w   s e p a r a t e   f u n c t i o n   b l o c k s   ( e . g .   U s e r   R i g h t s ,   E x p o r t ,   P r o c e s s i n g ,   . . . ) .   I t   i s   n a t u r a l   t o   g r o u p   t o g e t h e r   t e s t s   f o r   e a c h   b l o c k .   T U T   i n v o k e s   t h i s   t e s t   g r o u p .   E a c h   t e s t   g r o u p   h a s   a   u n i q u e   h u m a n - r e a d a b l e   n a m e   a n d   n o r m a l l y   i s   l o c a t e d   i n   a   s e p a r a t e   f i l e . 
 
 
 
         
 
 
 
         5   T e s t s 
 
 
 
                 E a c h   s i n g l e   t e s t   u s u a l l y   c h e c k s   o n l y   o n e   s p e c i f i c   e l e m e n t   o f   
 
                       f u n c t i o n a l i t y .   F o r   e x a m p l e ,   f o r   a   c o n t a i n e r   a   t e s t   c o u l d   c h e c k   
 
                       w h e t h e r   s i z e ( )   c a l l   r e t u r n s   z e r o   a f t e r   t h e   s u c c e s s f u l   c a l l   
 
                       t o   t h e   c l e a r ( )   m e t h o d . 
 
                 
 
 
 
         
 
 
 
         6   W r i t i n g   s i m p l e   t e s t 
 
 
 
 
 
                 6 . 1   P r e a m b l e 
 
 
 
                         Y o u   a r e   g o i n g   t o   c r e a t e   a   n e w   c l a s s   f o r   y o u r   a p p l i c a t i o n . 
 
                                 Y o u   d e c i d e d   t o   w r i t e   t e s t s   f o r   t h e   c l a s s   t o   b e   s u r e   i t   w o r k s   w h i l e   y o u 
 
                                 a r e   d e v e l o p i n g   o r ,   p o s s i b l y ,   e n h a n c i n g   i t .   L e t ' s   c o n s i d e r   y o u r   c l a s s   i s 
 
                                 s h a r e d   p o i n t e r :   s t d : : a u t o _ p t r - a l i k e   t y p e   t h a t   s h a r e s   t h e   s a m e   o b j e c t 
 
                                 a m o n g   i n s t a n c e s . 
 
 
 
                         P r i o r   t o   t e s t   w r i t i n g ,   y o u   s h o u l d   d e c i d e   w h a t   t o   t e s t .   M a x i m a l i s t ' s 
 
                                 a p p r o a c h   r e q u i r e s   t o   w r i t e   s o   m a n y   t e s t s   t h a t   a l t e r i n g   a n y   s i n g l e 
 
                                 l i n e   o f   y o u r   p r o d u c t i o n   c o d e   w i l l   b r e a k   a t   l e a s t   o n e   o f   t h e m . 
 
                                 M i n i m a l i s t ' s   a p p r o a c h   a l l o w s   o n e   t o   w r i t e   t e s t s   o n l y   f o r   t h e   m o s t 
 
                                 g e n e r a l   o r   t h e   m o s t   c o m p l e x   u s e   c a s e s .   T h e   t r u t h   l i e s   s o m e w h e r e   i n   b e t w e e n , 
 
                                 b u t   o n l y   y o u ,   d e v e l o p e r ,   k n o w   w h e r e .   Y o u   s h o u l d   p r e p a r e   c o m m o n 
 
                                 s u c c e s s f u l   a n d   u n s u c c e s s f u l   s c e n a r i o s ,   a n d   t h e   s c e n a r i o s   f o r 
 
                                 t e s t i n g   a n y   o t h e r   f u n c t i o n a l i t y   y o u   b e l i e v e   m i g h t   b e   b r o k e n   i n   s o m e   w a y . 
 
 
 
                         F o r   o u r   s h a r e d _ p t r   w e   o b v i o s l y   s h o u l d   t e s t   c o n s t r u c t o r s , 
 
                                 a s s i g n m e n t   o p e r a t o r s ,   r e f e r e n c i n g   a n d   p a s s i n g   o w n e r s h i p . 
 
 
 
 
 
                 
 
 
 
 
 
                 6 . 2   S k e l e t o n 
 
 
 
                         I f   y o u   d o n ' t   h a v e   a n y   i m p l e m e n t e d   c l a s s   t o   t e s t   y e t ,   i t   w o u l d   b e 
 
                                 g o o d   t o   i m p l e m e n t   i t   a s   a   s e t   o f   s t u b s   f o r   a   f i r s t   t i m e .   T h u s 
 
                                 y o u ' l l   g e t   a n   i n t e r f a c e ,   a n d   b e   a b l e   t o   w r i t e   y o u r   t e s t s .   Y e s , 
 
                                 t h a t ' s   c o r r e c t :   y o u   s h o u l d   w r i t e   y o u r   t e s t s   b e f o r e   w r i t i n g   c o d e ! 
 
                                 F i r s t   o f   a l l ,   w r i t i n g   t e s t s   o f t e n   h e l p s   t o   u n d e r s t a n d   o d d i t i e s 
 
                                 i n   t h e   c u r r e n t   i n t e r f a c e ,   a n d   f i x   i t .   S e c o n d l y ,   w i t h   t h e   s t u b s 
 
                                 a l l   y o u r   t e s t s   w i l l   f a i l ,   s o   y o u ' l l   b e   s u r e   t h e y   d o   t h e i r   j o b . 
 
 
 
                 
 
 
 
                 6 . 3   C r e a t i n g   T e s t   G r o u p 
 
 
 
                         S i n c e   w e ' r e   w r i t i n g   u n i t   t e s t s ,   i t   w o u l d   b e   a   g o o d   i d e a   t o 
 
                                 g r o u p   t h e   t e s t s   f o r   o u r   c l a s s   i n   o n e   p l a c e   t o   b e   a b l e   t o   r u n 
 
                                 t h e m   s e p a r a t e l y .   I t ' s   a l s o   n a t u r a l   i n   C + +   t o   p l a c e   a l l   t h e   g r o u p e d 
 
                                 t e s t s   i n t o   o n e   c o m p i l a t i o n   u n i t   ( i . e .   s o u r c e   f i l e ) .   S o ,   t o   b e g i n ,   w e 
 
                                 s h o u l d   c r e a t e   a   n e w   f i l e .   L e t ' s   c a l l   i t   t e s t _ s h a r e d _ p t r . c p p . 
 
                                 ( F i n a l   v a r i a n t   o f   t h e   t e s t   g r o u p   c a n   b e   f o u n d   i n   e x a m p l e s / s h a r e d _ p t r 
 
                                 s u b d i r e c t o r y   o f   t h e   d i s t r i b u t i o n   p a c k a g e ) 
 
 
 
                         
 
 / /   t e s t _ s h a r e d _ p t r . c p p 
 
 # i n c l u d e   & l t ; t u t . h & g t ; 
 
 
 
 n a m e s p a c e   t u t 
 
 { 
 
 } ; 
 
                         
 
 
 
 
 
                         A s   y o u   s e e ,   y o u   n e e d   t o   i n c l u d e   T U T   h e a d e r   f i l e   ( a s   e x p e c t e d )   a n d   
 
                         u s e   n a m e s p a c e   t u t   f o r   t e s t s .   Y o u   m a y   a l s o   u s e   a n o n y m o u s   n a m e s p a c e   i f   
 
                         y o u r   c o m p i l e r   a l l o w s   i t   ( y o u   w i l l   n e e d   t o   i n s t a n t i a t e   m e t h o d s   f r o m   
 
                         t u t   n a m e s p a c e   a n d   s o m e   c o m p i l e r s   r e f u s e   t o   p l a c e   s u c h   i n s t a n t i a t i o n s   
 
                         i n t o   t h e   a n o n y m o u s   n a m e s p a c e ) . 
 
 
 
                         A   t e s t   g r o u p   i n   T U T   f r a m e w o r k   i s   d e s c r i b e d   b y   t h e   s p e c i a l   
 
                         t e m p l a t e   t e s t _ g r o u p & l t ; T & g t ; .   T h e   t e m p l a t e   p a r a m e t e r   T   i s   a   t y p e   t h a t   
 
                         w i l l   h o l d   a l l   t e s t - s p e c i f i c   d a t a   d u r i n g   t h e   t e s t   e x e c u t i o n .   A c t u a l l y ,   
 
                         t h e   d a t a   s t o r e d   i n   T   a r e   m e m b e r   d a t a   o f   t h e   t e s t .   T e s t   o b j e c t   i s   
 
                         i n h e r i t e d   f r o m   T ,   s o   a n y   t e s t   c a n   r e f e r   t o   t h e   d a t a   i n   
 
                         T   a s   i t s   m e m b e r   d a t a . 
 
                         
 
                         F o r   s i m p l e   t e s t   g r o u p s   ( w h e r e   a l l   d a t a   a r e   s t o r e d   i n   
 
                         t e s t   l o c a l   v a r i a b l e s )   t y p e   T   i s   a n   e m p t y   s t r u c t . 
 
 
 
                         
 
 # i n c l u d e   & l t ; t u t . h & g t ; 
 
 
 
 n a m e s p a c e   t u t 
 
 { 
 
     s t r u c t   s h a r e d _ p t r _ d a t a 
 
     {   
 
     } ; 
 
 } 
 
                         
 
 
 
 
 
                         B u t   w h e n   t e s t s   h a v e   c o m p l e x   o r   r e p e a t i n g   c r e a t i o n   p h a s e ,   
 
                         y o u   m a y   p u t   d a t a   m e m b e r s   i n t o   t h e   T   a n d   p r o v i d e   c o n s t r u c t o r   
 
                         ( a n d ,   i f   r e q u i r e d ,   d e s t r u c t o r )   f o r   i t .   F o r   e a c h   t e s t ,   a   n e w   
 
                         i n s t a n c e   o f   T   w i l l   b e   c r e a t e d .   T o   p r e p a r e   y o u r   t e s t   f o r   e x e c u t i o n   
 
                         T U T   w i l l   u s e   d e f a u l t   c o n s t r u c t o r .   S i m i l a r l y ,   a f t e r   t h e   t e s t   h a s   
 
                         b e e n   f i n i s h e d ,   T U T   c a l l s   t h e   d e s t r u c t o r   t o   c l e a n   u p   T .   I . e . : 
 
 
 
                         
 
 # i n c l u d e   & l t ; t u t . h & g t ; 
 
 
 
 n a m e s p a c e   t u t 
 
 { 
 
     s t r u c t   c o m p l e x _ d a t a 
 
     { 
 
         c o n n e c t i o n *   c o n ; 
 
         c o m p l e x _ d a t a ( ) {   c o n   =   d b _ p o o l . g e t _ c o n n e c t i o n ( ) ;   } 
 
         ~ c o m p l e x _ d a t a ( ) {   d b _ p o o l . r e l e a s e _ c o n n e c t i o n ( c o n ) ;   } 
 
     } ; 
 
 
 
     / /   e a c h   t e s t   f r o m   n o w   w i l l   h a v e   c o n   d a t a   m e m b e r   i n i t i a l i z e d 
 
     / /   b y   c o n s t r u c t o r : 
 
     . . . 
 
     c o n - & g t ; c o m m i t ( ) ; 
 
     . . . 
 
                         
 
 
 
 
 
                         W h a t   w i l l   h a p p e n   i f   t h e   c o n s t r u c t o r   t h r o w s   a n   e x c e p t i o n ?   
 
                         T U T   w i l l   t r e a t   i t   a s   i f   t e s t   i t s e l f   f a i l e d   w i t h   e x c e p t i o n ,   
 
                         s o   t h i s   t e s t   w i l l   n o t   b e   e x e c u t e d .   Y o u ' l l   s e e   a n   e x c e p t i o n   m a r k   
 
                         n e a r   t h e   t e s t ,   a n d   i f   t h e   c o n s t r u c t o r   t h r o w e d   s o m e t h i n g   p r i n t a b l e ,   
 
                         a   c e r t a i n   m e s s a g e   w i l l   a p p e a r . 
 
 
 
                         E x c e p t i o n   i n   d e s t r u c t o r   i s   t h r e a t e d   a   b i t   d i f f e r e n t .   R e a c h i n g   d e s t r u c t i o n 
 
                         p h a s e   m e a n s   t h a t   t h e   t e s t   i s   p a s s e d ,   s o   T U T   m a r k s   t e s t   w i t h   w a r n i n g   s t a t u s   
 
                         m e a n i n g   t h a t   t e s t   i t s e l f   w a s   O K ,   b u t   s o m e t h i n g   b a d   h a s   h a p p e n d   a f t e r   t h e   t e s t . 
 
                         
 
 
 
                         W e l l ,   a l l   w e   h a v e   w r i t t e n   s o   f a r   i s   j u s t   a   t y p e   d e c l a r a t i o n .   
 
                         T o   w o r k   w i t h   a   g r o u p   w e   h a v e   t o   h a v e   a n   o b j e c t ,   s o   w e   m u s t   c r e a t e   
 
                         t h e   t e s t   g r o u p   o b j e c t .   S i n c e   w e   n e e d   o n l y   o n e   t e s t   g r o u p   o b j e c t   f o r   
 
                         e a c h   u n i t ,   w e   c a n   ( a n d   s h o u l d ,   a c t u a l l y )   m a k e   t h i s   o b j e c t   s t a t i c .   
 
                         T o   p r e v e n t   n a m e   c l a s h   w i t h   o t h e r   t e s t   g r o u p   o b j e c t s   i n   t h e   n a m e s p a c e   t u t ,   
 
                         w e   s h o u l d   p r o v i d e   a   d e s c r i p t i v e   n a m e ,   o r ,   a l t e r n a t i v e l y ,   w e   m a y   p u t   i t   
 
                         i n t o   t h e   a n o n y m o u s   n a m e s p a c e .   T h e   f o r m e r   i s   m o r e   c o r r e c t ,   b u t   a   
 
                         d e s c r i p t i v e   n a m e   u s u a l l y   w o r k s   w e l l   t o o ,   u n l e s s   y o u ' r e   t o o   t e r s e   
 
                         i n   g i v i n g   n a m e s   t o   o b j e c t s . 
 
 
 
                         
 
 # i n c l u d e   & l t ; t u t . h & g t ; 
 
 
 
 n a m e s p a c e   t u t 
 
 { 
 
         s t r u c t   s h a r e d _ p t r _ d a t a 
 
         { 
 
 
 
         } ; 
 
 
 
         t y p e d e f   t e s t _ g r o u p & l t ; s h a r e d _ p t r _ d a t a & g t ;   t g ; 
 
         t g   s h a r e d _ p t r _ g r o u p ( " s h a r e d _ p t r " ) ; 
 
 } ; 
 
                         
 
 
 
 
 
                         A s   y o u   s e e ,   a n y   t e s t   g r o u p   a c c e p t s   a   s i n g l e   p a r a m e t e r   -   i t s   
 
                         h u m a n - r e a d a b l e   n a m e .   T h i s   n a m e   i s   u s e d   t o   i d e n t i f y   t h e   g r o u p   w h e n   a   
 
                         p r o g r a m m e r   w a n t s   t o   e x e c u t e   a l l   t e s t s   o r   a   s i n g l e   t e s t   w i t h i n   t h e   g r o u p .   
 
                         S o   t h i s   n a m e   s h a l l   a l s o   b e   d e s c r i p t i v e   e n o u g h   t o   a v o i d   c l a s h e s .   
 
                         S i n c e   w e ' r e   w r i t i n g   t e s t s   f o r   a   s p e c i f i c   u n i t ,   i t ' s   e n o u g h   t o   n a m e   i t   a f t e r   
 
                         t h e   u n i t   n a m e . 
 
 
 
                         T e s t   g r o u p   c o n s t r u c t o r   w i l l   b e   c a l l e d   a t   u n s p e c i f i e d   m o m e n t   a t   t h e   
 
                         t e s t   a p p l i c a t i o n   s t a r t u p .   T h e   c o n s t r u c t o r   p e r f o r m s   s e l f - r e g i s t r a t i o n ;   
 
                         i t   c a l l s   t u t : : r u n n e r   a n d   a s k s   i t   t o   s t o r e   t h e   t e s t   g r o u p   o b j e c t   n a m e   a n d   
 
                         l o c a t i o n .   A n y   o t h e r   t e s t   g r o u p   i n   t h e   s y s t e m   u n d e r g o e s   t h e   s a m e   p r o c e s s i n g ,   
 
                         i . e .   e a c h   t e s t   g r o u p   o b j e c t   r e g i s t e r s   i t s e l f .   T h u s ,   t e s t   r u n n e r   c a n   i t e r a t e   
 
                         a l l   t e s t   g r o u p s   o r   e x e c u t e   a n y   t e s t   g r o u p   b y   i t s   n a m e . 
 
 
 
                         N e w l y   c r e a t e d   g r o u p   h a s   n o   t e s t s   a s s o c i a t e d   w i t h   i t .   
 
                         T o   b e   m o r e   p r e c i s e ,   i t   h a s   p r e d e f i n e d   s e t   o f   d u m m y   t e s t s .   B y   d e f a u l t ,   
 
                         t h e r e   a r e   5 0   t e s t s   i n   a   g r o u p ,   i n c l u d i n g   d u m m y   o n e s .   T o   c r e a t e   a   t e s t   
 
                         g r o u p   w i t h   h i g h e r   v o l u m e   ( e . g .   w h e n   t e s t s   a r e   g e n e r a t e d   b y   a   s c r i p t   a n d   
 
                         t h e i r   n u m b e r   i s   h i g h e r )   w e   m u s t   p r o v i d e   a   h i g h e r   b o r d e r   o f   t e s t   g r o u p   
 
                         s i z e   w h e n   i t   i s   i n s t a n t i a t e d : 
 
 
 
                         
 
 # i n c l u d e   & l t ; t u t . h & g t ; 
 
 
 
 n a m e s p a c e   t u t 
 
 { 
 
         s t r u c t   h u g e _ t e s t _ d a t a 
 
         { 
 
         } ; 
 
 
 
         / /   t e s t   g r o u p   w i t h   m a x i m u m   5 0 0   t e s t s 
 
         t y p e d e f   t e s t _ g r o u p & l t ; h u g e _ t e s t _ d a t a , 5 0 0 & g t ;   t e s t g r o u p ; 
 
         t e s t g r o u p   h u g e _ t e s t _ t e s t g r o u p ( " h u g e   g r o u p " ) ; 
 
 } ; 
 
                         
 
 
 
                         N o t e   a l s o ,   t h a t   y o u r   c o m p i l e r   w i l l   p o s s i b l y   n e e d   a   c o m m a n d - l i n e   
 
                         s w i t c h   o r   p r a g m a   t o   e n l a r g e   r e c u r s i v e   i n s t a n t i a t i o n   d e p t h .   
 
                         F o r   g + + ,   f o r   e x a m p l e ,   y o u   s h o u l d   s p e c i f y   a t   l e a s t   - - f t e m p l a t e - d e p t h - 5 0 1   
 
                         t o   i n c r e a s e   t h e   d e p t h .   F o r   m o r e   i n f o r m a t i o n   s e e   y o u r   
 
                         c o m p i l e r   d o c u m e n t a t i o n . 
 
 
 
                 
 
 
 
         
 
 
 
         7   C r e a t i n g   T e s t s 
 
 
 
                 N o w   i t ' s   t i m e   t o   f i l l   o u r   t e s t   g r o u p   w i t h   c o n t e n t . 
 
 
 
                 I n   T U T ,   a l l   t e s t s   h a v e   u n i q u e   n u m b e r s   i n s i d e   t h e   t e s t   g r o u p .   
 
                 S o m e   p e o p l e   b e l i e v e   t h a t   t e x t u a l   n a m e s   b e t t e r   d e s c r i b e   f a i l e d   t e s t s   i n   r e p o r t s .   
 
                 I   a g r e e ;   b u t   i n   r e a l i t y   C + +   t e m p l a t e s   w o r k   g o o d   w i t h   n u m b e r s   b e c a u s e   
 
                 t h e y   a r e   c o m p i l e - t i m e   c o n s t a n t s   a n d   r e f u s e   t o   d o   t h e   s a m e   w i t h   s t r i n g s ,   
 
                 s i n c e   s t r i n g s   a r e   i n   f a c t   a d d r e s s e s   o f   c h a r a c t e r   b u f f e r s ,   i . e .   r u n - t i m e   d a t a . 
 
 
 
                 A s   I   m e n t i o n e d   a b o v e ,   o u r   t e s t   g r o u p   a l r e a d y   h a s   a   f e w   d u m m y   t e s t s ;   a n d   w e   
 
                 c a n   r e p l a c e   a n y   o f   t h e m   w i t h   s o m e t h i n g   r e a l   j u s t   b y   w r i t i n g   o u r   o w n   v e r s i o n : 
 
 
 
                 
 
 # i n c l u d e   & l t ; t u t . h & g t ; 
 
 
 
 n a m e s p a c e   t u t 
 
 { 
 
         s t r u c t   s h a r e d _ p t r _ d a t a { } ; 
 
 
 
         t y p e d e f   t e s t _ g r o u p & l t ; s h a r e d _ p t r _ d a t a & g t ;   t e s t g r o u p ; 
 
         t y p e d e f   t e s t g r o u p : : o b j e c t   t e s t o b j e c t ; 
 
         t e s t g r o u p   s h a r e d _ p t r _ t e s t g r o u p ( " s h a r e d _ p t r " ) ; 
 
 
 
         t e m p l a t e & l t ; & g t ; 
 
         v o i d   t e s t o b j e c t : : t e s t & l t ; 1 & g t ; ( ) 
 
         { 
 
                 / /   d o   n o t h i n g   t e s t 
 
         } 
 
 } ; 
 
                 
 
 
 
                 S o   f a r   t h i s   t e s t   d o e s   n o t h i n g ,   b u t   i t ' s   e n o u g h   t o   i l l u s t r a t e   t h e   c o n c e p t . 
 
 
 
                 A l l   t e s t s   i n   t h e   g r o u p   b e l o n g   t o   t h e   t y p e   t e s t _ g r o u p & l t ; T & g t ; : : o b j e c t .   
 
                 T h i s   c l a s s   i s   d i r e c t l y   i n h e r i t e d   f r o m   o u r   t e s t   d a t a   s t r u c t u r e .   
 
                 I n   o u r   c a s e ,   i t   i s 
 
 
 
                 
 
 c l a s s   o b j e c t   :   p u b l i c   s h a r e d _ p t r _ d a t a   {   . . .   } 
 
                 
 
 
 
                 T h i s   a l l o w s   t o   a c c e s s   m e m b e r s   o f   t h e   d a t a   s t r u c t u r e   d i r e c t l y ,   
 
                 s i n c e   a t   t h e   s a m e   t i m e   t h e y   a r e   m e m b e r s   o f   t h e   o b j e c t   t y p e .   W e   a l s o   t y p e d e f   
 
                 t h e   t y p e   w i t h   t e s t o b j e c t   f o r   b r e v i t y . 
 
 
 
                 W e   m a r k   o u r   t e s t   w i t h   n u m b e r   1 .   P r e v i o u s l y ,   t e s t   g r o u p   h a d   a   d u m m y   t e s t   
 
                 w i t h   t h e   s a m e   n u m b e r ,   b u t   n o w ,   s i n c e   w e ' v e   d e f i n e d   o u r   o w n   v e r s i o n ,   
 
                 i t   r e p l a c e s   t h e   d u m m y   t e s t   a s   m o r e   s p e c i a l i z e d   o n e .   I t ' s   h o w   C + +   t e m p l a t e   
 
                 o r d e r i n g   w o r k s . 
 
 
 
                 T h e   t e s t   w e ' v e   w r i t t e n   a l w a y s   s u c c e e d s .   S u c c e s s f u l   t e s t   r e t u r n s   w i t h   n o   
 
                 e x c e p t i o n s .   U n s u c c e s s f u l   o n e   e i t h e r   t h r o w s   a n   e x c e p t i o n ,   o r   f a i l s   a t   
 
                 f a i l ( )   o r   e n s u r e ( )   m e t h o d s   ( w h i c h   a n y w a y   j u s t   t h r o w   t h e   e x c e p t i o n   w h e n   f a i l e d ) . 
 
 
 
         
 
 
 
         8   F i r s t   r e a l   t e s t 
 
 
 
                 W e l l ,   n o w   w e   k n o w   e n o u g h   t o   w r i t e   t h e   f i r s t   r e a l   w o r k i n g   t e s t .   
 
                 T h i s   t e s t   w i l l   c r e a t e   s h a r e d _ p t r   i n s t a n c e s   a n d   c h e c k   t h e i r   s t a t e . 
 
                 W e   w i l l   d e f i n e   a   s m a l l   s t r u c t u r e   ( k e e p e e )   t o   u s e   i t   a s   s h a r e d _ p t r   s t o r e d   
 
                 o b j e c t   t y p e . 
 
 
 
                 
 
 # i n c l u d e   & l t ; t u t . h & g t ; 
 
 # i n c l u d e   & l t ; s h a r e d _ p t r . h & g t ; 
 
 
 
 n a m e s p a c e   t u t 
 
 { 
 
         s t r u c t   s h a r e d _ p t r _ d a t a 
 
         { 
 
                 s t r u c t   k e e p e e {   i n t   d a t a ;   } ; 
 
         } ; 
 
 
 
         t y p e d e f   t e s t _ g r o u p & l t ; s h a r e d _ p t r _ d a t a & g t ;   t e s t g r o u p ; 
 
         t y p e d e f   t e s t g r o u p : : o b j e c t   t e s t o b j e c t ; 
 
         t e s t g r o u p   s h a r e d _ p t r _ t e s t g r o u p ( " s h a r e d _ p t r " ) ; 
 
 
 
         / * * 
 
           *   C h e c k s   d e f a u l t   c o n s t r u c t o r . 
 
           * / 
 
         t e m p l a t e & l t ; & g t ; 
 
         v o i d   t e s t o b j e c t : : t e s t & l t ; 1 & g t ; ( ) 
 
         { 
 
                 s h a r e d _ p t r & l t ; k e e p e e & g t ;   d e f ; 
 
                 e n s u r e ( " n u l l " , d e f . g e t ( )   = =   0 ) ; 
 
         } 
 
 } ; 
 
                 
 
 
 
 
 
                 T h a t ' s   a l l !   T h e   f i r s t   l i n e   c r e a t e s   s h a r e d _ p t r .   
 
                       I f   c o n s t r u c t o r   t h r o w s   a n   e x c e p t i o n ,   t e s t   w i l l   f a i l   ( e x c e p t i o n s ,   
 
                       i n c l u d i n g   ' . . . ' ,   a r e   c a t c h e d   b y   t h e   T U T   f r a m e w o r k ) .   
 
                       I f   t h e   f i r s t   l i n e   s u c c e e d s ,   w e   m u s t   c h e c k   w h e t h e r   t h e   k e p t   o b j e c t     
 
                       i s   n u l l   o n e .   T o   d o   t h i s ,   w e   u s e   t e s t   o b j e c t   m e m b e r   f u n c t i o n   e n s u r e ( ) ,   
 
                       w h i c h   t h r o w s   s t d : : l o g i c _ e r r o r   w i t h   a   g i v e n   m e s s a g e   i f   i t s   s e c o n d   
 
                       a r g u m e n t   i s   n o t   t r u e .   F i n a l l y ,   i f   d e s t r u c t o r   o f   s h a r e d _ p t r   f a i l s   
 
                       w i t h   e x c e p t i o n ,   T U T   a l s o   w i l l   r e p o r t   t h i s   t e s t   a s   f a i l e d . 
 
 
 
                 I t ' s   e q u a l l y   e a s y   t o   w r i t e   a   t e s t   f o r   t h e   s c e n a r i o   w h e r e   w e   e x p e c t   t o 
 
                       g e t   a n   e x c e p t i o n :   l e t ' s   c o n s i d e r   o u r   c l a s s   s h o u l d   t h r o w   a n 
 
                       e x c e p t i o n   i f   i t   h a s   n o   s t o r e d   o b j e c t ,   a n d   t h e   o p e r a t o r   - & g t ;   i s 
 
                       c a l l e d . 
 
 
 
                 
 
 / * * 
 
   *   C h e c k s   o p e r a t o r   - & g t ;   t h r o w s   i n s t e a d   o f   r e t u r n i n g   n u l l . 
 
   * / 
 
 t e m p l a t e & l t ; & g t ; 
 
 v o i d   t e s t o b j e c t : : t e s t & l t ; 2 & g t ; ( ) 
 
 { 
 
         t r y 
 
         { 
 
                 s h a r e d _ p t r & l t ; k e e p e e & g t ;   s p ; 
 
                 s p - & g t ; d a t a   =   0 ; 
 
                 f a i l ( " e x c e p t i o n   e x p e c t e d " ) ; 
 
         } 
 
         c a t c h (   c o n s t   s t d : : r u n t i m e _ e r r o r & a m p ;   e x   ) 
 
         { 
 
                 / /   o k 
 
         } 
 
 } 
 
                 
 
 
 
                 H e r e   w e   e x p e c t   t h e   s t d : : r u n t i m e _ e r r o r .   
 
                       I f   o p e r a t o r   d o e s n ' t   t h r o w   i t ,   w e ' l l   f o r c e   t h e   t e s t   t o   f a i l   
 
                       u s i n g   a n o t h e r   m e m b e r   f u n c t i o n :   f a i l ( ) .   I t   j u s t   t h r o w s   
 
                       s t d : : l o g i c _ e r r o r   w i t h   a   g i v e n   m e s s a g e .   I f   o p e r a t o r   t h r o w s   
 
                       a n y t h i n g   e l s e ,   o u r   t e s t   w i l l   f a i l   t o o ,   s i n c e   w e   i n t e r c e p t   
 
                       o n l y   s t d : : r u n t i m e _ e r r o r ,   a n d   a n y   o t h e r   e x c e p t i o n   m e a n s   
 
                       t h e   t e s t   h a s   f a i l e d . 
 
                   
 
                 N B :   o u r   s e c o n d   t e s t   h a s   n u m b e r   2   i n   i t s   n a m e ;   i t   c a n ,   a c t u a l l y ,   
 
                       b e   a n y   i n   r a n g e   1 . . M a x ;   t h e   o n l y   r e q u i r e m e n t   i s   n o t   t o   w r i t e   
 
                       t e s t s   w i t h   t h e   s a m e   n u m b e r s .   I f   y o u   d i d ,   c o m p i l e r   w i l l   f o r c e   
 
                       y o u   t o   f i x   t h e m   a n y w a y . 
 
                 
 
                 A n d   f i n a l l y ,   o n e   m o r e   t e s t   t o   d e m o n s t r a t e   h o w   t o   u s e   t h e   e n s u r e _ e q u a l s   
 
                       t e m p l a t e   m e m b e r   f u n c t i o n : 
 
 
 
                 
 
 / * * 
 
   *   C h e c k s   k e e p e e   c o u n t i n g . 
 
   * / 
 
 t e m p l a t e & l t ; & g t ; 
 
 v o i d   t e s t o b j e c t : : t e s t & l t ; 3 & g t ; ( ) 
 
 { 
 
         s h a r e d _ p t r & l t ; k e e p e e & g t ;   s p 1 ( n e w   k e e p e e ( ) ) ; 
 
         s h a r e d _ p t r & l t ; k e e p e e & g t ;   s p 2 ( s p 1 ) ; 
 
         e n s u r e _ e q u a l s ( " s e c o n d   c o p y   a t   s p 1 " , s p 1 . c o u n t ( ) , 2 ) ; 
 
         e n s u r e _ e q u a l s ( " s e c o n d   c o p y   a t   s p 2 " , s p 2 . c o u n t ( ) , 2 ) ; 
 
 } 
 
                 
 
 
 
 
 
                 T h e   t e s t   c h e c k s   i f   t h e   s h a r e d _ p t r   c o r r e c t l y   c o u n t s   r e f e r e n c e s   
 
                       d u r i n g   c o p y   c o n s t r u c t i o n .   W h a t ' s   i n t e r e s t i n g   h e r e   i s   t h e   t e m p l a t e   
 
                       m e m b e r   e n s u r e _ e q u a l s .   I t   h a s   a n   a d d i t i o n a l   f u n c t i o n a l i t y   c o m p a r i n g   
 
                       w i t h   s i m i l a r   c a l l   e n s u r e ( " s e c o n d _ c o p y " , s p 1 . c o u n t ( ) = = 2 ) ;   i t   u s e s   
 
                       o p e r a t o r   = =   t o   c h e c k   t h e   e q u a l i t y   o f   t h e   t w o   p a s s e d   p a r a m e t e r s   a n d ,   
 
                       w h a t ' s   m o r e   i m p o r t a n t ,   i t   u s e s   s t d : : s t r e a m   t o   f o r m a t   t h e   p a s s e d   
 
                       p a r a m e t e r s   i n t o   a   h u m a n - r e a d a b l e   m e s s a g e   ( s m t h   l i k e :   
 
                       " s e c o n d   c o p y :   e x p e c t e d   2 ,   g o t   1 " ) .   I t   m e a n s   t h a t   e n s u r e _ e q u a l s   
 
                       c a n n o t   b e   u s e d   w i t h   t h e   t y p e s   t h a t   d o n ' t   h a v e   o p e r a t o r 
 
                       & l t ; & l t ; ;   b u t   f o r   t h o s e   h a v i n g   t h e   o p e r a t o r   i t   p r o v i d e s   m u c h   
 
                       m o r e   i n f o r m a t i o n a l   m e s s a g e . 
 
 
 
                 I n   c o n t r a s t   t o   J U n i t   a s s e r t E q u a l s ,   w h e r e   t h e   e x p e c t e d   v a l u e   g o e s   
 
                       b e f o r e   t h e   a c t u a l   o n e ,   e n s u r e _ e q u a l s ( )   a c c e p t s   t h e   e x p e c t e d   
 
                       a f t e r   t h e   a c t u a l   v a l u e .   I   b e l i e v e   i t ' s   m o r e   n a t u r a l   t o   r e a d   
 
                       e n s u r e _ e q u a l s ( " m s g " ,   c o u n t ,   5 )   a s   " e n s u r e   t h a t   c o u n t   e q u a l s   t o   5 "   
 
                       r a t h e r   t h a n   J U n i t ' s   " a s s e r t   t h a t   5   i s   t h e   v a l u e   o f   t h e   c o u n t " . 
 
 
 
         
 
 
 
         9   R u n n i n g   t e s t s 
 
 
 
                 T e s t s   a r e   a l r e a d y   w r i t t e n ,   b u t   a n   a t t e m p t   t o   r u n   t h e m   w i l l   b e   
 
                       u n s u c c e s s f u l .   W e   n e e d   a   f e w   o t h e r   b i t s   t o   c o m p l e t e   t h e   t e s t   
 
                       a p p l i c a t i o n . 
 
                 F i r s t   o f   a l l ,   w e   n e e d   a   m a i n ( )   m e t h o d ,   s i m p l y   b e c a u s e   i t   m u s t   b e   
 
                       i n   a l l   a p p l i c a t i o n s .   S e c o n d l y ,   w e   n e e d   a   t e s t   r u n n e r   s i n g l e t o n .   
 
                       R e m e m b e r   I   s a i d   e a c h   t e s t   g r o u p   s h o u l d   r e g i s t e r   i t s e l f   i n   s i n g l e t o n ?   
 
                       S o ,   w e   n e e d   t h a t   s i n g l e t o n .   A n d ,   f i n a l l y ,   w e   n e e d   a   k i n d   o f   a   
 
                       c a l l b a c k   h a n d l e r   t o   v i s u a l i z e   o u r   t e s t   r e s u l t s . 
 
                 T h e   d e s i g n   o f   T U T   d o e s n ' t   s t r i c t l y   s e t   a   w a y   t h e   t e s t s   a r e   
 
                       v i s u a l i z e d ;   i n s t e a d ,   i t   p r o v i d e s   a n   o p p o r t u n i t y   t o   g e t   t h e   t e s t   
 
                       r e s u l t s   b y   m e a n s   o f   c a l l b a c k s .   M o r e o v e r   i t   a l l o w s   u s e r   t o   o u t p u t   
 
                       t h e   r e s u l t s   i n   a n y   f o r m a t   h e   p r e f e r s .   O f   c o u r s e ,   t h e r e   i s   a   
 
                       " r e f e r e n c e   i m p l e m e n t a t i o n "   i n   t h e     e x a m p l e /   s u b d i r e c t o r y   o f   t h e   
 
                       p r o j e c t . 
 
                 T e s t   r u n n e r   s i n g l e t o n   i s   d e f i n e d   i n   t u t . h ,   s o   a l l   w e   n e e d   t o   
 
                       a c t i v a t e   i t   i s   t o   d e c l a r e   a n   o b j e c t   o f   t h e   t y p e   
 
                       t u t : : t e s t _ r u n n e r _ s i n g l e t o n   i n   t h e   m a i n   m o d u l e   w i t h   a   s p e c i a l   
 
                       n a m e   t u t : : r u n n e r . 
 
                 N o w ,   w i t h   t h e   t e s t _ r u n n e r   w e   c a n   r u n   t e s t s .   S i n g l e t o n   h a s   m e t h o d   
 
                       g e t ( )   r e t u r n i n g   a   r e f e r e n c e   t o   a n   i n s t a n c e   o f   t h e   t e s t _ r u n n e r   c l a s s ,   
 
                       w h i c h   i n   t u r n   h a s   m e t h o d s   r u n _ t e s t s ( )   t o   r u n   a l l   t e s t s   i n   a l l   g r o u p s ,   
 
                       r u n _ t e s t s ( c o n s t   s t d : : s t r i n g & a m p ;   g r o u p n a m e )   t o   r u n   a l l   t e s t s   i n   a   
 
                       g i v e n   g r o u p   a n d   r u n _ t e s t ( c o n s t   s t d : : s t r i n g & a m p ;   g r p , i n t   n )   t o   r u n   
 
                       o n e   t e s t   i n   t h e   s p e c i f i e d   g r o u p . 
 
 
 
                 
 
 / /   m a i n . c p p 
 
 # i n c l u d e   & l t ; t u t . h & g t ; 
 
 
 
 n a m e s p a c e   t u t 
 
 { 
 
         t e s t _ r u n n e r _ s i n g l e t o n   r u n n e r ; 
 
 } 
 
 
 
 i n t   m a i n ( ) 
 
 { 
 
         / /   r u n   a l l   t e s t s   i n   a l l   g r o u p s 
 
         r u n n e r . g e t ( ) . r u n _ t e s t s ( ) ; 
 
 
 
         / /   r u n   a l l   t e s t s   i n   g r o u p   " s h a r e d _ p t r " 
 
         r u n n e r . g e t ( ) . r u n _ t e s t s ( " s h a r e d _ p t r " ) ; 
 
 
 
         / /   r u n   t e s t   n u m b e r   5   i n   g r o u p   " s h a r e d _ p t r " 
 
         r u n n e r . g e t ( ) . r u n _ t e s t ( " s h a r e d _ p t r " , 5 ) ; 
 
 
 
         r e t u r n   0 ; 
 
 } 
 
                 
 
 
 
 
 
                 I t ' s   u p   t o   u s e r   t o   h a n d l e   c o m m a n d - l i n e   a r g u m e n t s   o r   G U I   m e s s a g e s   
 
                       a n d   m a p   t h o s e   a r g u m e n t s / m e s s a g e s   t o   a c t u a l   c a l l s   t o   t e s t   r u n n e r .   
 
                       A g a i n ,   a s   y o u   s e e ,   T U T   d o e s n ' t   r e s t r i c t   u s e r   h e r e . 
 
                 B u t ,   t h e   l a s t   q u e s t i o n   i s   s t i l l   u n a n s w e r e d :   h o w   d o   w e   g e t   o u r   t e s t   
 
                       r e s u l t s ?   T h e   a n s w e r   l i e s   i n s i d e   t u t : : c a l l b a c k   i n t e r f a c e .   U s e r   s h a l l   
 
                       c r e a t e   i t s   s u b c l a s s ,   a n d   w r i t e   u p   t o   t h r e e   s i m p l e   m e t h o d s .   H e   a l s o   
 
                       c a n   o m i t   a n y   m e t h o d   s i n c e   t h e y   h a v e   d e f a u l t   n o - o p   i m p l e m e n t a t i o n .   
 
                       E a c h   c o r r e s p o n d i n g   m e t h o d   i s   c a l l e d   i n   t h e   f o l l o w i n g   c a s e s :   
 
                       
 
                       a   n e w   t e s t   r u n   s t a r t e d ; 
 
                       t e s t   f i n i s h e d ;   
 
                       t e s t   r u n   f i n i s h e d . 
 
                       
 
                 
 
                 H e r e   i s   a   m i n i m a l   i m p l e m e n t a t i o n : 
 
 
 
                 
 
 c l a s s   v i s u a l i z a t o r   :   p u b l i c   t u t : : c a l l b a c k 
 
 { 
 
 p u b l i c : 
 
     v o i d   r u n _ s t a r t e d ( ) {   } 
 
 
 
     v o i d   t e s t _ c o m p l e t e d ( c o n s t   t u t : : t e s t _ r e s u l t & a m p ;   t r ) 
 
     { 
 
             / /   . . .   s h o w   t e s t   r e s u l t   h e r e   . . . 
 
     } 
 
 
 
     v o i d   r u n _ c o m p l e t e d ( ) {   } 
 
 } ; 
 
                 
 
 
 
 
 
                 T h e   m o s t   i m p o r t a n t   i s   t h e   t e s t _ c o m p l e t e d ( )   m e t h o d ;   i t s   p a r a m e t e r   
 
                       h a s   t y p e   t e s t _ r e s u l t ,   a n d   c o n t a i n s   e v e r y t h i n g   a b o u t   t h e   f i n i s h e d   
 
                       t e s t ,   f r o m   i t s   g r o u p   n a m e   a n d   n u m b e r   t o   t h e   e x c e p t i o n   m e s s a g e ,   
 
                       i f   a n y .   M e m b e r   r e s u l t   i s   a n   e n u m   t h a t   c o n t a i n s   s t a t u s   o f   t h e   t e s t :   
 
                       o k ,   f a i l   o r   e x .   T a k e   a   l o o k   a t   t h e   e x a m p l e s / b a s i c / m a i n . c p p   f o r   m o r e   
 
                       c o m p l e t e   v i s u a l i z a t o r . 
 
                 
 
                 V i s u a l i z a t o r   s h o u l d   b e   p a s s e d   t o   t h e   t e s t _ r u n n e r   b e f o r e   r u n .   
 
                       K n o w i n g   t h a t ,   w e   a r e   r e a d y   t o   w r i t e   t h e   f i n a l   v e r s i o n   o f   o u r   
 
                       m a i n   m o d u l e : 
 
                 
 
 
 
                 
 
 / /   m a i n . c p p 
 
 # i n c l u d e   & l t ; t u t . h & g t ; 
 
 
 
 n a m e s p a c e   t u t 
 
 { 
 
     t e s t _ r u n n e r _ s i n g l e t o n   r u n n e r ; 
 
 } 
 
 
 
 c l a s s   c a l l b a c k   :   p u b l i c   t u t : : c a l l b a c k 
 
 { 
 
 p u b l i c : 
 
     v o i d   r u n _ s t a r t e d ( ) {   s t d : : c o u t   & l t ; & l t ;   " \ n b e g i n " ;   } 
 
 
 
     v o i d   t e s t _ c o m p l e t e d ( c o n s t   t u t : : t e s t _ r e s u l t & a m p ;   t r ) 
 
     { 
 
         s t d : : c o u t   & l t ; & l t ;   t r . t e s t _ p o s   & l t ; & l t ;   " = "   & l t ; & l t ;   t r . r e s u l t   & l t ; & l t ;   s t d : : f l u s h ; 
 
     } 
 
 
 
     v o i d   r u n _ c o m p l e t e d ( ) {   s t d : : c o u t   & l t ; & l t ;   " \ n e n d " ;   } 
 
 } ; 
 
 
 
 i n t   m a i n ( ) 
 
 { 
 
     c a l l b a c k   c l b k ; 
 
     r u n n e r . g e t ( ) . s e t _ c a l l b a c k ( & a m p ; c l b k ) ; 
 
 
 
     / /   r u n   a l l   t e s t s   i n   a l l   g r o u p s 
 
     r u n n e r . g e t ( ) . r u n _ t e s t s ( ) ; 
 
     r e t u r n   0 ; 
 
 } 
 
                 
 
 
 
 
 
                 T h a t ' s   i t .   Y o u   a r e   n o w   r e a d y   t o   l i n k   a n d   r u n   o u r   
 
                       t e s t   a p p l i c a t i o n .   D o   i t   a s   o f t e n   a s   p o s s i b l e ;   
 
                       o n c e   a   d a y   i s   a   d e f i n i t e   m u s t .   I   h o p e ,   T U T   w i l l   h e l p   y o u   
 
                       t o   m a k e   y o u r   a p p l i c a t i o n   m o r e   r o b u s t   a n d   r e l i e v e   y o u r   t e s t i n g   p a i n .   
 
                       F e e l   f r e e   t o   s e n d   y o u r   q u e s t i o n s ,   s u g g e s t i o n s   a n d   c r i t i c a l   o p i n i o n s   t o   m e ;   
 
                       I ' l l   d o   m y   b e s t   t o   a d d r e s s   t h e m   a s a p . 
 
                 
 
 
 
         
 
 
 
 
 
 