@@ -83,13 +83,29 @@ def test_suite_status_is_fail_if_failed_subsuite(self):
8383 suite .suites .create ().tests .create (status = 'FAIL' )
8484 assert_equal (suite .status , 'FAIL' )
8585
86- def test_passed (self ):
86+ def test_passed_failed_skipped_propertys (self ):
8787 suite = TestSuite ()
8888 assert_true (suite .passed )
89+ assert_false (suite .failed )
90+ assert_false (suite .skipped )
91+ suite .tests .create (status = 'SKIP' )
92+ assert_false (suite .passed )
93+ assert_false (suite .failed )
94+ assert_true (suite .skipped )
8995 suite .tests .create (status = 'PASS' )
9096 assert_true (suite .passed )
91- suite .tests .create (status = 'FAIL' , tags = 'tag' )
97+ assert_false (suite .failed )
98+ assert_false (suite .skipped )
99+ suite .tests .create (status = 'FAIL' )
92100 assert_false (suite .passed )
101+ assert_true (suite .failed )
102+ assert_false (suite .skipped )
103+
104+ def test_suite_status_cannot_be_set_directly (self ):
105+ suite = TestSuite ()
106+ for attr in 'status' , 'passed' , 'failed' , 'skipped' :
107+ assert_true (hasattr (suite , attr ))
108+ assert_raises (AttributeError , setattr , suite , attr , True )
93109
94110
95111class TestElapsedTime (unittest .TestCase ):
@@ -143,32 +159,47 @@ def test_keyword_name(self):
143159 def test_keyword_name_cannot_be_set_directly (self ):
144160 assert_raises (AttributeError , setattr , Keyword (), 'name' , 'value' )
145161
146- def test_test_passed (self ):
147- self ._test_passed (TestCase ())
162+ def test_test_passed_failed_skipped_propertys (self ):
163+ self ._verify_passed_failed_skipped (TestCase ())
148164
149- def test_keyword_passed (self ):
150- self ._test_passed (Keyword ())
165+ def test_keyword_passed_failed_skipped_propertys (self ):
166+ self ._verify_passed_failed_skipped (Keyword ())
151167
152168 def test_keyword_passed_after_dry_run (self ):
153- self ._test_passed (Keyword (status = 'NOT_RUN' ),
154- initial_status = 'NOT_RUN' )
169+ self ._verify_passed_failed_skipped (Keyword (status = 'NOT_RUN' ),
170+ initial_status = 'NOT_RUN' )
155171
156- def _test_passed (self , item , initial_status = 'FAIL' ):
157- assert_equal (item .passed , False )
172+ def _verify_passed_failed_skipped (self , item , initial_status = 'FAIL' ):
158173 assert_equal (item .status , initial_status )
174+ assert_equal (item .passed , False )
175+ assert_equal (item .failed , initial_status == 'FAIL' )
176+ assert_equal (item .skipped , False )
159177 item .passed = True
160178 assert_equal (item .passed , True )
179+ assert_equal (item .failed , False )
180+ assert_equal (item .skipped , False )
161181 assert_equal (item .status , 'PASS' )
162182 item .passed = False
163183 assert_equal (item .passed , False )
184+ assert_equal (item .failed , True )
185+ assert_equal (item .skipped , False )
164186 assert_equal (item .status , 'FAIL' )
165-
166- def test_suite_passed (self ):
167- suite = TestSuite ()
168- assert_equal (suite .passed , True )
169- suite .tests .create (status = 'FAIL' )
170- assert_equal (suite .passed , False )
171- assert_raises (AttributeError , setattr , TestSuite (), 'passed' , True )
187+ item .failed = True
188+ assert_equal (item .passed , False )
189+ assert_equal (item .failed , True )
190+ assert_equal (item .skipped , False )
191+ assert_equal (item .status , 'FAIL' )
192+ item .failed = False
193+ assert_equal (item .passed , True )
194+ assert_equal (item .failed , False )
195+ assert_equal (item .skipped , False )
196+ assert_equal (item .status , 'PASS' )
197+ item .skipped = True
198+ assert_equal (item .passed , False )
199+ assert_equal (item .failed , False )
200+ assert_equal (item .skipped , True )
201+ assert_equal (item .status , 'SKIP' )
202+ assert_raises (ValueError , setattr , item , 'skipped' , False )
172203
173204
174205if __name__ == '__main__' :
0 commit comments