Ejemplo n.º 1
0
    def setUp(self):
        self.read_value = bytearray([0, 0, 0, 0, 0, 0])
        self.i2c_layout = {
            0x0D: 0x1A,  # ID of the device
            0x2B: 00,  # reset success
        }
        self.i2c_expect = {
            (0x2B, 0x40): True,  # reset
            (0x2B, 0x02): True,  # resolution
            (0x2D, 0x01): True,  # ready true
            (0x2E, 0x01): True,  # ready true
            (0x11, 0x40): True,  # orientation mode on
            (0x2A, 0x2D): True,  # low noise and activate
        }
        with patch("mpf.platforms.virtual.VirtualHardwarePlatform.i2c_read8",
                   new=self.i2c_read8):
            with patch(
                    "mpf.platforms.virtual.VirtualHardwarePlatform.i2c_read_block",
                    new=self.i2c_read_block):
                with patch(
                        "mpf.platforms.virtual.VirtualHardwarePlatform.i2c_write8",
                        new=self.i2c_write8):
                    super().setUp()

        self.assertFalse(self.i2c_expect)
Ejemplo n.º 2
0
 def setUp(self):
     RGBMatrix = patch('mpf.platforms.rpi_dmd.RGBMatrix')
     RGBMatrixOptions = patch('mpf.platforms.rpi_dmd.RGBMatrixOptions')
     self.rgbmatrixoptions = RGBMatrixOptions.start()
     self.rgbmatrix = RGBMatrix.start()
     self.rgbmatrix_instance = MagicMock()
     self.rgbmatrix.return_value = self.rgbmatrix_instance
     self.addCleanup(self.rgbmatrix.stop)
     super().setUp()
Ejemplo n.º 3
0
    def test_init_and_poll(self):
        with patch("mpf.platforms.virtual.VirtualI2cDevice.i2c_read8", new=self.i2c_read8):
            with patch("mpf.platforms.virtual.VirtualI2cDevice.i2c_read_block", new=self.i2c_read_block):
                with patch("mpf.platforms.virtual.VirtualI2cDevice.i2c_write8", new=self.i2c_write8):
                    self.assertEqual((0, 0, 0), self.machine.accelerometers["test_accelerometer"].value)

                    self.read_value = bytearray([0, 0, 0, 0, 60, 10])
                    self.advance_time_and_run(.1)

                    self.assertEqual((0, 0, 9.199), self.machine.accelerometers["test_accelerometer"].value)
Ejemplo n.º 4
0
 def setUp(self):
     smbus = patch('mpf.platforms.smbus2.SMBus2Asyncio')
     self.smbus = smbus.start()
     self.smbus_instance = MagicMock()
     self.smbus.return_value = self.smbus_instance
     self.addCleanup(self.smbus.stop)
     super().setUp()
Ejemplo n.º 5
0
 def setUp(self):
     client_class = patch('mpf.platforms.osc.SimpleUDPClient')
     self.client_class = client_class.start()
     self.client_instance = MagicMock()
     self.client_class.return_value = self.client_instance
     self.addCleanup(self.client_class.stop)
     super().setUp()
Ejemplo n.º 6
0
    def test_pool_random(self):
        with patch("mpf.core.assets.random.randint") as rand:
            rand.return_value = 1
            self.post_event("play_pool_random")
            rand.assert_called_with(1, 4)
        self.assertIn("pool_random", self.machine.show_player.instances["_global"]["show_player"])

        self.assertEqual("leds_name_token",
                         self.machine.show_player.instances["_global"]["show_player"]["pool_random"].name)

        self.post_event("stop_pool_random")
        self.assertNotIn("pool_random", self.machine.show_player.instances["_global"]["show_player"])

        with patch("mpf.core.assets.random.randint") as rand:
            rand.return_value = 2
            self.post_event("play_pool_random")
            rand.assert_called_with(1, 4)
        self.assertIn("pool_random", self.machine.show_player.instances["_global"]["show_player"])

        self.assertEqual("leds_single_color",
                         self.machine.show_player.instances["_global"]["show_player"]["pool_random"].name)

        self.post_event("stop_pool_random")
        self.assertNotIn("pool_random", self.machine.show_player.instances["_global"]["show_player"])

        with patch("mpf.core.assets.random.randint") as rand:
            rand.return_value = 3
            self.post_event("play_pool_random")
            rand.assert_called_with(1, 4)
        self.assertIn("pool_random", self.machine.show_player.instances["_global"]["show_player"])

        self.assertEqual("leds_color_token",
                         self.machine.show_player.instances["_global"]["show_player"]["pool_random"].name)

        self.post_event("stop_pool_random")
        self.assertNotIn("pool_random", self.machine.show_player.instances["_global"]["show_player"])

        with patch("mpf.core.assets.random.randint") as rand:
            rand.return_value = 4
            self.post_event("play_pool_random")
            rand.assert_called_with(1, 4)
        self.assertIn("pool_random", self.machine.show_player.instances["_global"]["show_player"])

        self.assertEqual("leds_extended",
                         self.machine.show_player.instances["_global"]["show_player"]["pool_random"].name)
Ejemplo n.º 7
0
    def setUp(self):
        modules = {
            'PIL': MagicMock(),
            'PIL.Image': MagicMock(),
        }
        self.module_patcher = patch.dict('sys.modules', modules)
        self.module_patcher.start()
        Image = patch('mpf.platforms.rpi_dmd.Image')
        self.image = Image.start()

        RGBMatrix = patch('mpf.platforms.rpi_dmd.RGBMatrix')
        RGBMatrixOptions = patch('mpf.platforms.rpi_dmd.RGBMatrixOptions')
        self.rgbmatrixoptions = RGBMatrixOptions.start()
        self.rgbmatrix = RGBMatrix.start()
        self.rgbmatrix_instance = MagicMock()
        self.rgbmatrix.return_value = self.rgbmatrix_instance
        self.addCleanup(self.rgbmatrix.stop)
        super().setUp()
Ejemplo n.º 8
0
    def setUp(self):
        client_class = patch('mpf.platforms.osc.SimpleUDPClient')
        self.client_class = client_class.start()
        self.client_instance = MagicMock()
        self.client_class.return_value = self.client_instance

        dispatcher_class = patch('mpf.platforms.osc.Dispatcher')
        self.dispatcher_class = dispatcher_class.start()
        self.dispatcher_instance = MagicMock()
        self.dispatcher_class.return_value = self.dispatcher_instance

        server_class = patch('mpf.platforms.osc.AsyncIOOSCUDPServer')
        self.server_class = server_class.start()
        self.server_instance = MagicMock()
        self.server_instance.create_serve_endpoint = self._start_serve
        self.server_class.return_value = self.server_instance

        self.addCleanup(self.client_class.stop)
        self.addCleanup(self.dispatcher_class.stop)
        self.addCleanup(self.server_class.stop)
        super().setUp()
Ejemplo n.º 9
0
    def setUp(self):
        super().setUp()
        self._start_time = time.time()
        Clock._start_tick = self._start_time
        Clock._last_tick = self._start_time
        Clock.time = self._mc_time
        Clock._events = [[] for i in range(256)]
        with patch("mpfmc.core.bcp_processor.BCPServer"):
            self._start_mc()
        self.mc_task = self.clock.schedule_interval(self._run_mc, 1 / self.fps)

        client = self.machine.bcp.transport.get_named_client("local_display")
        bcp_mc = self.mc.bcp_processor
        bcp_mc.send = client.receive
        self.mc.events.post("client_connected")
        self.advance_time_and_run()
        while not client.queue.empty():
            bcp_mc.receive_queue.put(client.queue.get())
        client.queue = bcp_mc.receive_queue
        self.advance_time_and_run()
Ejemplo n.º 10
0
    def __init__(self, machine, name, bcp):
        super().__init__(machine, name, bcp)
        self.queue = Queue()
        self.exit_on_close = False

        self.fps = 30

        self._start_time = time.time()
        Clock._start_tick = self._start_time
        Clock._last_tick = self._start_time
        Clock.time = self._mc_time
        Clock._events = [[] for i in range(256)]
        with patch("mpfmc.core.bcp_processor.BCPServer"):
            self._start_mc()
        self.mc_task = self.machine.clock.schedule_interval(self._run_mc, 1 / self.fps)

        bcp_mc = self.mc.bcp_processor
        bcp_mc.send = self.receive
        self.queue = bcp_mc.receive_queue
        self.mc.bcp_processor.enabled = True
        self.mc.bcp_client_connected = True
        self.mc.events.post("client_connected")