def METHOD_NAME(self, mock_open):
    main_win, w = self.createWidget()
    mock_open.return_value = "/no_exist", None
    QTest.mouseClick(w.choose_exe_button, Qt.LeftButton)
    self.assertEqual(w.exe_line.text(), "")
    mock_open.return_value = self.test_exe, None
    QTest.mouseClick(w.choose_exe_button, Qt.LeftButton)
    self.assertEqual(self.path, self.test_exe)
    self.assertEqual(self.app_info.valid(), True)
    self.assertEqual(w.exe_line.text(), self.test_exe)
    cmd, args = w.buildCommand("input.i")
    self.assertEqual(cmd, self.test_exe)
    self.assertEqual(len(args), 3)
    self.assertEqual(args[0], "Outputs/csv=true")
    self.assertEqual(args[1], "-i")
    self.assertEqual(args[2], "input.i")
    QTest.mouseClick(w.mpi_checkbox, Qt.LeftButton)
    self.assertEqual(w.mpi_checkbox.isChecked(), True)
    cmd, args = w.buildCommand("input.i")
    self.assertEqual(cmd, "mpiexec")
    self.assertNotIn("--recover", args)
    QTest.mouseClick(w.recover_checkbox, Qt.LeftButton)
    cmd, args = w.buildCommand("input.i")
    self.assertIn("--recover", args)
    self.assertNotIn("--n-threads=2", args)
    QTest.mouseClick(w.threads_checkbox, Qt.LeftButton)
    cmd, args = w.buildCommand("input.i")
    self.assertIn("--n-threads=2", args)
    cmd, args = w.buildCommand("input.i")
    self.assertEqual(cmd, "mpiexec")
    self.assertIn(self.test_exe, args)
    self.assertIn("-i", args)
    self.assertIn("input.i", args)
    self.assertIn("-n", args)
    self.assertIn("2", args)
    self.assertIn("--recover", args)
    self.assertIn("Outputs/csv=true", args)
    self.assertIn("--n-threads=2", args)