@@ -250,8 +250,8 @@ class TestCount(unittest.TestCase):
250
250
def test_duplicate_rule_count_double (self ):
251
251
expected_result = True
252
252
collection_state = MagicMock ()
253
- simplified_rule = MagicMock ()
254
- other_rule = MagicMock (spec = StardewRule )
253
+ simplified_rule = Mock ()
254
+ other_rule = Mock (spec = StardewRule )
255
255
other_rule .evaluate_while_simplifying = Mock (return_value = (simplified_rule , expected_result ))
256
256
rule = Count ([other_rule , other_rule , other_rule ], 2 )
257
257
@@ -261,10 +261,10 @@ def test_duplicate_rule_count_double(self):
261
261
self .assertEqual (expected_result , actual_result )
262
262
263
263
def test_simplified_rule_is_reused (self ):
264
- expected_result = True
264
+ expected_result = False
265
265
collection_state = MagicMock ()
266
- simplified_rule = MagicMock (return_value = expected_result )
267
- other_rule = MagicMock (spec = StardewRule )
266
+ simplified_rule = Mock (return_value = expected_result )
267
+ other_rule = Mock (spec = StardewRule )
268
268
other_rule .evaluate_while_simplifying = Mock (return_value = (simplified_rule , expected_result ))
269
269
rule = Count ([other_rule , other_rule , other_rule ], 2 )
270
270
@@ -278,15 +278,15 @@ def test_simplified_rule_is_reused(self):
278
278
actual_result = rule (collection_state )
279
279
280
280
other_rule .evaluate_while_simplifying .assert_not_called ()
281
- simplified_rule .assert_not_called ()
281
+ simplified_rule .assert_called ()
282
282
self .assertEqual (expected_result , actual_result )
283
283
284
284
def test_break_if_not_enough_rule_to_complete (self ):
285
285
expected_result = False
286
286
collection_state = MagicMock ()
287
- simplified_rule = MagicMock ()
288
- never_called_rule = MagicMock ()
289
- other_rule = MagicMock (spec = StardewRule )
287
+ simplified_rule = Mock ()
288
+ never_called_rule = Mock ()
289
+ other_rule = Mock (spec = StardewRule )
290
290
other_rule .evaluate_while_simplifying = Mock (return_value = (simplified_rule , expected_result ))
291
291
rule = Count ([other_rule , other_rule , other_rule , never_called_rule ], 2 )
292
292
@@ -296,3 +296,8 @@ def test_break_if_not_enough_rule_to_complete(self):
296
296
never_called_rule .assert_not_called ()
297
297
never_called_rule .evaluate_while_simplifying .assert_not_called ()
298
298
self .assertEqual (expected_result , actual_result )
299
+
300
+ def test_evaluate_without_shortcircuit_when_rules_are_all_different (self ):
301
+ rule = Count ([Mock (), Mock (), Mock (), Mock ()], 2 )
302
+
303
+ self .assertEqual (rule .evaluate , rule .evaluate_without_shortcircuit )
0 commit comments