"""
cli
    -n  run tests
    -N  don't run tests, just find them
    -r  recursive;
    -R  non-recursive; default
    -i  interactive; default on Unix, not available on Windows
    -I  non-interactive; default on Windows

curses
    screen drawing
    UI event handling
    ConsoleScreen
"""






ModulesScreen
=============

$ testosterone -Nr httpy.couplers

+------------------------------<| testosterone |>------------------------------+
  MODULE: httpy                                                TESTS         
+------------------------------------------------------+-----------------------+
  MODULES                                              pass  fail  err  all  
+------------------------------------------------------+-----------------------+
  httpy                                                  -      -    -    0  
    couplers                                             -      -    -    0  
>     standalone                                        17%     2    3    8 <
       task                                             0%     1    1    2 
    request                                              -      -    -    2  
    responders                                           -      -    -    0  
      static                                             -      -    -    1  
                                                                             
                                                                             
                                                                             
+------------------------------------------------------+-----------------------+
                                               TOTALS   56%     3    4   11  
+------------------------------------------------------------------------------+
  ran 6 tests in 0.322 seconds                                                
+------------------------------------------------------------------------------+

UI-driven events
    F5          run selected tests
    space       toggle flat/cumulative
    enter       refresh state for single module and go to ResultsScreen
                    shouldn't go to results screen if all tests pass

other events
    message area should clear any message after 3 seconds



ResultsScreen
=============

$ testosterone httpy.couplers.standalone
$ testosterone httpy.couplers.standalone

+-----------------------------<| testosterone |>-------------------------------+
  MODULE: httpy.couplers.standalone                                           
+------------------------------------------------------------------------------+
  TESTS (total: 9999; passing: 100%)   TRACEBACK                             
+------------------------------------------------------------------------------+
> failures (2)                       < Traceback (most recent call last):    
    testFooBar                           File "<stdin>", line 1, in ?        
    testReallyReallyReallyLongNam...   heck                                  
  errors (3)                                                                 
    testFooBarm                                                              
    testBazBuz                                                               
    testBlam                                                                 
                                                                             
                                                                             
                                                                             
                                                                             
                                                                             
                                                                             
+------------------------------------------------------------------------------+
  testFooBlim passed!                                                         
+------------------------------------------------------------------------------+

UI-driven events
    esc     return to ModulesScreen
    F5      run currently selected test
    ctrl-F5 run all tests for current module
    tab     toggle focus between TESTS and TRACEBACK panes
                TRACEBACK pane should scroll up/down/left/right with arrow keys

other events


ConsoleScreen
=============

$ testosterone httpy.couplers.standalone [breakpoint set]

+-----------------------------<| testosterone |>-------------------------------+
  MODULE: httpy.couplers.standalone                                           
+------------------------------------------------------------------------------+
  TEST: testFooBar                                                            
+------------------------------------------------------------------------------+
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
heck
(pdb)












+------------------------------------------------------------------------------+

UI-driven events
    ctrl-D  return to ResultsScreen

other events
    module changes
    test changes


===future===
ctrl-tab    mode for resizing panes
autoreact to changes in module hierarchy
syntax highlighting in ConsoleScreen
ModulesScreen
    ctrl-F5     reload tests, resetting state
    ctrl-space  toggle all/non-passing
ResultsScreen
