3131# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3232
3333import unittest
34- from unittest .mock import patch
34+ from unittest .mock import patch , call
3535
3636from robotmbt .suiteprocessors import SuiteProcessors
3737
@@ -48,19 +48,19 @@ def test_provided_seed_is_stripped(self, mock):
4848
4949 def test_seed_none_keeps_system_seed (self , mock ):
5050 SuiteProcessors ._init_randomiser (None )
51- mock .assert_not_called ()
51+ mock .assert_called_with ()
5252
5353 def test_seed_none_as_string (self , mock ):
5454 SuiteProcessors ._init_randomiser ("None" )
55- mock .assert_not_called ()
55+ mock .assert_called_with ()
5656
5757 def test_seed_none_as_string_is_stripped (self , mock ):
5858 SuiteProcessors ._init_randomiser (" None\t " )
59- mock .assert_not_called ()
59+ mock .assert_called_with ()
6060
6161 def test_seed_none_as_string_is_case_insensitive (self , mock ):
6262 SuiteProcessors ._init_randomiser ("nOnE" )
63- mock .assert_not_called ()
63+ mock .assert_called_with ()
6464
6565 def test_seed_new_generates_reusable_seed (self , mock ):
6666 SuiteProcessors ._init_randomiser ("new" )
@@ -82,6 +82,16 @@ def test_generated_seeds_have_max_2_consecutive_vowels_or_consonants(self, mock)
8282 self .assertNotIn ('***' , new_seed .translate ({ord (c ): '*' for c in 'aeiouy' }))
8383 self .assertNotIn ('***' , new_seed .translate ({ord (c ): '*' for c in 'bcdfghjklmnpqrstvwxz' }))
8484
85+ def test_seed_is_reset_after_using_specific_seed (self , mock ):
86+ """
87+ added to cover the issue where, after having rerun a specific trace, the next
88+ generated seed was always the same.
89+ """
90+ SuiteProcessors ._init_randomiser ("specific seed" )
91+ SuiteProcessors ._init_randomiser ("new" )
92+ new_seed = mock .call_args .args [0 ]
93+ mock .assert_has_calls ([call ("specific seed" ), call (), call (new_seed )])
94+
8595 def _is_generated_seed (self , arg ):
8696 """
8797 Generated seeds are formatted as 5 dash-separated [-] words, where
0 commit comments