@@ -414,6 +414,7 @@ def test_iterative_again(self, getTestController, robot_with_sim_setup_teardown)
414414        assert  robot_with_sim_setup_teardown .robotInitialized  ==  True 
415415        assert  robot_with_sim_setup_teardown .robotPeriodicCount  >  0 
416416
417+ 
417418class  TimedRobotPyExpectsException (TimedRobotPy ):
418419    def  startCompetition (self ) ->  None :
419420        hasAssertionError  =  False 
@@ -424,6 +425,7 @@ def startCompetition(self) -> None:
424425        print (f"TimedRobotPyExpectsException hasAssertionError={ hasAssertionError }  )
425426        assert  hasAssertionError 
426427
428+ 
427429class  TimedRobotPyDoNotExpectException (TimedRobotPy ):
428430    def  startCompetition (self ) ->  None :
429431        hasAssertionError  =  False 
@@ -437,17 +439,20 @@ def startCompetition(self) -> None:
437439
438440from  wpilib  import  RobotController 
439441
442+ 
440443def  printEntryAndExit (func ):
441444    def  wrapper (* args , ** kwargs ):
442-         #name = inspect.currentframe().f_code.co_name 
445+         #  name = inspect.currentframe().f_code.co_name 
443446        name  =  func .__name__ 
444447        print (f"Enter:{ name } { RobotController .getFPGATime ()/ 1000_000.0 :.3f}  )
445448        result  =  func (* args , ** kwargs )
446449        print (f"Exit_:{ name } { RobotController .getFPGATime ()/ 1000_000.0 :.3f}  )
447450        return  result 
451+ 
448452    return  wrapper 
449453
450- class  MyRobotRobotDefaultPass ():
454+ 
455+ class  MyRobotRobotDefaultPass :
451456
452457    @printEntryAndExit  
453458    def  robotInit (self ):
@@ -490,65 +495,88 @@ def _simulationPeriodic(self):
490495        pass 
491496
492497
493- 
494- class  MyRobotRobotInitFails ():
498+ class  MyRobotRobotInitFails :
495499    def  robotInit (self ):
496500        assert  False 
497501
498- class  MyRobotRobotPeriodicFails ():
502+ 
503+ class  MyRobotRobotPeriodicFails :
499504    def  robotPeriodic (self ):
500505        assert  False 
501506
502- class  MyRobotAutonomousInitFails ():
507+ 
508+ class  MyRobotAutonomousInitFails :
503509    def  autonomousInit (self ):
504510        assert  False 
505511
506- class  MyRobotAutonomousPeriodicFails ():
512+ 
513+ class  MyRobotAutonomousPeriodicFails :
507514    def  autonomousPeriodic (self ):
508515        assert  False 
509516
510- class  MyRobotAutonomousExitFails ():
517+ 
518+ class  MyRobotAutonomousExitFails :
511519    def  autonomousExit (self ):
512520        assert  False 
513521
514- class  MyRobotTeleopInitFails ():
522+ 
523+ class  MyRobotTeleopInitFails :
515524    def  teleopInit (self ):
516525        assert  False 
517526
518- class  MyRobotTeleopPeriodicFails ():
527+ 
528+ class  MyRobotTeleopPeriodicFails :
519529    def  teleopPeriodic (self ):
520530        assert  False 
521531
522- class  MyRobotDisabledPeriodicFails ():
532+ 
533+ class  MyRobotDisabledPeriodicFails :
523534    def  disabledPeriodic (self ):
524535        assert  False 
525536
526- class  MyRobotDisabledInitFails ():
537+ 
538+ class  MyRobotDisabledInitFails :
527539    def  disabledInit (self ):
528540        assert  False 
529541
530- class  MyRobotTestInitFails ():
542+ 
543+ class  MyRobotTestInitFails :
531544    def  testInit (self ):
532545        assert  False 
533546
534- class  MyRobotTestPeriodicFails ():
547+ 
548+ class  MyRobotTestPeriodicFails :
535549    def  testPeriodic (self ):
536550        assert  False 
537551
538552
539- 
540- @pytest .mark .parametrize ("myRobotAddMethods, timedRobotExpectation, _expectFinished, _autonomous, _test" , [ 
553+ @pytest .mark .parametrize ( 
554+     "myRobotAddMethods, timedRobotExpectation, _expectFinished, _autonomous, _test" , 
555+     [ 
541556        (MyRobotRobotDefaultPass , TimedRobotPyDoNotExpectException , True , True , False ), 
542557        (MyRobotRobotInitFails , TimedRobotPyExpectsException , False , True , False ), 
543558        (MyRobotAutonomousInitFails , TimedRobotPyExpectsException , False , True , False ), 
544-         (MyRobotAutonomousPeriodicFails , TimedRobotPyExpectsException , False , True , False ), 
545-         (MyRobotAutonomousExitFails , TimedRobotPyExpectsException , False , True , False ) 
546-     ] 
559+         ( 
560+             MyRobotAutonomousPeriodicFails , 
561+             TimedRobotPyExpectsException , 
562+             False , 
563+             True , 
564+             False , 
565+         ), 
566+         (MyRobotAutonomousExitFails , TimedRobotPyExpectsException , False , True , False ), 
567+     ], 
547568) 
548569class  TestCanThrowExceptions :
549570    @classmethod  
550571    @pytest .fixture (scope = "function" , autouse = False ) 
551-     def  myrobot_class (cls , myRobotAddMethods , timedRobotExpectation , _expectFinished , _autonomous , _test ) ->  type [TimedRobotPy ]:
572+     def  myrobot_class (
573+         cls ,
574+         myRobotAddMethods ,
575+         timedRobotExpectation ,
576+         _expectFinished ,
577+         _autonomous ,
578+         _test ,
579+     ) ->  type [TimedRobotPy ]:
552580        class  MyRobot (myRobotAddMethods , timedRobotExpectation ):
553581
554582            @printEntryAndExit  
@@ -563,31 +591,57 @@ def endCompetition(self):
563591
564592    @classmethod  
565593    @pytest .fixture (scope = "function" , autouse = False ) 
566-     def  expectFinished (cls , myRobotAddMethods , timedRobotExpectation , _expectFinished , _autonomous , _test ) ->  bool :
594+     def  expectFinished (
595+         cls ,
596+         myRobotAddMethods ,
597+         timedRobotExpectation ,
598+         _expectFinished ,
599+         _autonomous ,
600+         _test ,
601+     ) ->  bool :
567602        return  _expectFinished 
568603
569604    @classmethod  
570605    @pytest .fixture (scope = "function" , autouse = False ) 
571-     def  autonomous (cls , myRobotAddMethods , timedRobotExpectation , _expectFinished , _autonomous , _test ) ->  bool :
606+     def  autonomous (
607+         cls ,
608+         myRobotAddMethods ,
609+         timedRobotExpectation ,
610+         _expectFinished ,
611+         _autonomous ,
612+         _test ,
613+     ) ->  bool :
572614        return  _autonomous 
573615
574616    @classmethod  
575617    @pytest .fixture (scope = "function" , autouse = False ) 
576-     def  test (cls , myRobotAddMethods , timedRobotExpectation , _expectFinished , _autonomous , _test ) ->  bool :
618+     def  test (
619+         cls ,
620+         myRobotAddMethods ,
621+         timedRobotExpectation ,
622+         _expectFinished ,
623+         _autonomous ,
624+         _test ,
625+     ) ->  bool :
577626        return  _test 
578627
579- 
580-     def  test_robot_mode_with_exceptions (self , getTestController , robot_with_sim_setup_teardown , autonomous , test ):
628+     def  test_robot_mode_with_exceptions (
629+         self , getTestController , robot_with_sim_setup_teardown , autonomous , test 
630+     ):
581631        with  getTestController .run_robot ():
582632            periodS  =  robot_with_sim_setup_teardown .getPeriod ()
583633            # Run disabled for a short period 
584634            print (f"periodS={ periodS } { periodS * 1.5 }  )
585-             getTestController .step_timing (seconds = periodS * 1.5 , autonomous = autonomous , test = test , enabled = False )
635+             getTestController .step_timing (
636+                 seconds = periodS  *  1.5 , autonomous = autonomous , test = test , enabled = False 
637+             )
586638
587639            # Run in desired mode for 1 period 
588-             getTestController .step_timing (seconds = periodS , autonomous = autonomous , test = test , enabled = True )
640+             getTestController .step_timing (
641+                 seconds = periodS , autonomous = autonomous , test = test , enabled = True 
642+             )
589643
590644            # Disabled for 1 period 
591-             getTestController .step_timing (seconds = periodS ,  autonomous = autonomous ,  test = test ,  enabled = False ) 
592- 
593- 
645+             getTestController .step_timing (
646+                  seconds = periodS ,  autonomous = autonomous ,  test = test ,  enabled = False 
647+             ) 
0 commit comments