@@ -10,6 +10,9 @@ def __exit__ (self, *args):
1010 self .counter += 99
1111
1212def run (autoTester ):
13+
14+ # General control structure tests
15+
1316 for index in range (10 ):
1417 autoTester .check (index )
1518
@@ -80,15 +83,45 @@ def run (autoTester):
8083 autoTester .check ('oceania' )
8184 else :
8285 autoTester .check ('anywhere' )
86+
87+ # Context manager tests
8388
84- with ContextManagerExample () as contextManagerExample :
85- pass
86-
87- autoTester .check (contextManagerExample .counter )
88-
89+ externalCounter1 = 0
90+ with ContextManagerExample () as contextManagerExample1 :
91+ externalCounter1 += 1
92+ autoTester .check ('ctx1' , contextManagerExample1 .counter , externalCounter1 )
93+
94+ externalCounter2 = 0
8995 with ContextManagerExample () as contextManagerExample2 :
96+ externalCounter2 += 1
9097 contextManagerExample2 .counter += 100
91-
92- autoTester .check (contextManagerExample2 .counter )
93-
94-
98+ externalCounter3 = 0
99+ with ContextManagerExample () as contextManagerExample3 :
100+ externalCounter3 += 1
101+ contextManagerExample2 .counter += 100
102+ externalCounter3 += 2
103+ contextManagerExample3 .counter += 200
104+ autoTester .check ('ctx3' , contextManagerExample3 .counter , externalCounter3 )
105+ externalCounter2 += 2
106+ contextManagerExample2 .counter += 200
107+ autoTester .check ('ctx2' , contextManagerExample2 .counter , externalCounter2 )
108+
109+ try :
110+ externalCounter4 = 0
111+ with ContextManagerExample () as contextManagerExample4 :
112+ externalCounter4 += 1
113+ contextManagerExample4 .counter += 100
114+ externalCounter5 = 0
115+ with ContextManagerExample () as contextManagerExample5 :
116+ externalCounter5 += 1
117+ contextManagerExample5 .counter += 100
118+ raise Exception ()
119+ externalCounter5 += 2
120+ contextManagerExample5 .counter += 200
121+ externalCounter4 += 2
122+ contextManagerExample4 .counter += 200
123+ except Exception as exception :
124+ autoTester .check ('ctx6' , exception )
125+ finally :
126+ autoTester .check ('ctx5' , contextManagerExample5 .counter , externalCounter5 )
127+ autoTester .check ('ctx4' , contextManagerExample4 .counter , externalCounter4 )
0 commit comments