diff --git a/mpf/tests/machine_files/scoring/modes/mode1/config/mode1.yaml b/mpf/tests/machine_files/scoring/modes/mode1/config/mode1.yaml index 812596f8e..fe5dfc457 100644 --- a/mpf/tests/machine_files/scoring/modes/mode1/config/mode1.yaml +++ b/mpf/tests/machine_files/scoring/modes/mode1/config/mode1.yaml @@ -32,3 +32,5 @@ scoring: my_var2: score: change action: add_machine + test_score_mode: + score: 100 \ No newline at end of file diff --git a/mpf/tests/machine_files/scoring/modes/mode2/config/mode2.yaml b/mpf/tests/machine_files/scoring/modes/mode2/config/mode2.yaml index d0cc5fbcc..49c41b030 100644 --- a/mpf/tests/machine_files/scoring/modes/mode2/config/mode2.yaml +++ b/mpf/tests/machine_files/scoring/modes/mode2/config/mode2.yaml @@ -10,4 +10,8 @@ scoring: score: 1000|block var_a: 0|block var_b: 1 - var_c: current_player.ramps * 10|block \ No newline at end of file + var_c: current_player.ramps * 10|block + test_score_mode: + score: + score: 1000 + block: true \ No newline at end of file diff --git a/mpf/tests/test_Scoring.py b/mpf/tests/test_Scoring.py index 48f85668c..61a02d6d3 100644 --- a/mpf/tests/test_Scoring.py +++ b/mpf/tests/test_Scoring.py @@ -1,7 +1,7 @@ -from mpf.tests.MpfTestCase import MpfTestCase +from mpf.tests.MpfGameTestCase import MpfGameTestCase -class TestScoring(MpfTestCase): +class TestScoring(MpfGameTestCase): def getConfigFile(self): return 'config.yaml' @@ -11,16 +11,11 @@ def getMachinePath(self): def test_scoring(self): # start game with two players - self.machine.ball_controller.num_balls_known = 0 self.hit_switch_and_run("s_ball_switch1", 1) self.advance_time_and_run(2) # start game with two players - self.hit_and_release_switch("s_start") - self.hit_and_release_switch("s_start") - self.assertNotEqual(None, self.machine.game) - self.assertEqual(2, self.machine.game.num_players) - self.assertEqual(1, self.machine.game.player.number) + self.start_two_player_game() self.advance_time_and_run(1) self.release_switch_and_run("s_ball_switch1", 20) @@ -165,3 +160,35 @@ def test_scoring(self): # it should not crash self.post_event("test_event1") self.advance_time_and_run() + + def test_blocking(self): + # start game + self.hit_switch_and_run("s_ball_switch1", 1) + self.advance_time_and_run(2) + self.start_game() + + self.advance_time_and_run(1) + self.release_switch_and_run("s_ball_switch1", 20) + + # start mode 1 + self.post_event("start_mode1", 1) + + # test scoring + self.post_event("test_score_mode", 1) + # should score 100 + self.assertPlayerVarEqual(100, "score") + + # start mode 2 + self.post_event("start_mode2", 1) + + # test scoring + self.post_event("test_score_mode", 1) + # should score 1000 (+ 100 from the previous) + self.assertPlayerVarEqual(1100, "score") + + self.post_event("stop_mode2", 1) + + # test scoring + self.post_event("test_score_mode", 1) + # should score 100 again (+ 1100 from the previous) + self.assertPlayerVarEqual(1200, "score")