def test_flop(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/307380116_Flop_0.png') self.assertEqual(t.playersBehind, 1) self.assertEqual(t.playersAhead, 0) t, p, gui_signals, h, logger = init_table( 'tests/screenshots/712154510_Flop_0.png') self.assertEqual(t.playersBehind, 0) self.assertEqual(t.playersAhead, 1) self.assertEqual(t.isHeadsUp, True)
def setUp(self): self.t, self.p, self.gui_signals, self.h, self.logger = init_table( 'testing/screenshots_ps_real_money/269141380_Flop_0.png', strategy='vid_ps_3_real_money') self.t1, self.p1, self.gui_signals1, self.h1, self.logger1 = init_table( 'testing/screenshots_ps_real_money/322098970_PreFlop_0.png', strategy='vid_ps_3_real_money') self.t2, self.p2, self.gui_signals2, self.h2, self.logger2 = init_table( 'testing/screenshots_ps_real_money/9455534_PreFlop_1.png', strategy='vid_ps_3_real_money') self.t31, self.p31, self.gui_signals31, self.h31, self.logger31 = init_table( 'testing/screenshots_ps_real_money/813577545_PreFlop_0.png', strategy='vid_ps_3_real_money') self.t32, self.p32, self.gui_signals32, self.h32, self.logger32 = init_table( 'testing/screenshots_ps_real_money/813577545_Flop_0.png', strategy='vid_ps_3_real_money') self.t33, self.p33, self.gui_signals33, self.h33, self.logger33 = init_table( 'testing/screenshots_ps_real_money/813577545_Flop_1.png', strategy='vid_ps_3_real_money') self.t34, self.p34, self.gui_signals34, self.h34, self.logger34 = init_table( 'testing/screenshots_ps_real_money/813577545_Turn_0.png', strategy='vid_ps_3_real_money') self.t35, self.p35, self.gui_signals35, self.h35, self.logger35 = init_table( 'testing/screenshots_ps_real_money/813577545_River_0.png', strategy='vid_ps_3_real_money')
def test_raiser_utg3(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/571351571_PreFlop_0.png', round_number=0) self.assertEqual(t.position_utg_plus, 5) self.assertEqual(t.dealer_position, 4) self.assertEqual(np.isnan(t.second_raiser), True) self.assertEqual(t.first_raiser_utg, 3)
def test_second_round_snowie_1(self): t, p, gui_signals, h, logger = init_table('tests/screenshots/Q9o.png', round_number=0, strategy='snowie1') self.assertEqual(t.position_utg_plus, 5) self.assertEqual(t.dealer_position, 4) self.assertEqual(np.isnan(t.second_raiser), True) self.assertEqual(t.first_caller_utg, 2)
def test_call_raise_2(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/897376414_PreFlop_1.png') self.assertEqual(t.other_players[0]['pot'], '') self.assertEqual(t.other_players[1]['pot'], 0.3) self.assertEqual(t.other_players[2]['pot'], '') self.assertEqual(t.other_players[3]['pot'], 0.02) self.assertEqual(t.other_players[4]['pot'], 0.04)
def test_call_raise(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/43457283_PreFlop_0.png') self.assertEqual(t.other_players[0]['pot'], '') self.assertEqual(t.other_players[1]['pot'], 0.04) self.assertEqual(t.other_players[2]['pot'], 0.16) self.assertEqual(t.other_players[3]['pot'], '') self.assertEqual(t.other_players[4]['pot'], 0.02)
def test_other_players5(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/496504338_PreFlop_0.png') self.assertEqual(t.other_players[0]['pot'], 0.04) self.assertEqual(t.other_players[1]['pot'], 0.08) self.assertEqual(t.other_players[2]['pot'], '') self.assertEqual(t.other_players[3]['pot'], '') self.assertEqual(t.other_players[4]['pot'], '')
def test_other_players6(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/499121363_PreFlop_4.png') self.assertEqual(t.other_players[0]['pot'], '') self.assertEqual(t.other_players[1]['pot'], '') self.assertEqual(t.other_players[2]['pot'], 0.28) self.assertEqual(t.other_players[3]['pot'], 0.02) self.assertEqual(t.other_players[4]['pot'], 0.04)
def test_preflop_recognition(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/308189727_PreFlop_0.png') self.assertEqual(t.other_players[0]['pot'], 0.02) self.assertEqual(t.other_players[1]['pot'], 0.04) self.assertEqual(t.other_players[2]['pot'], 0.12) self.assertEqual(t.other_players[3]['pot'], '') self.assertEqual(t.other_players[4]['pot'], '')
def test_second_round_table2(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/378278828_PreFlop_1.png', round_number=1) self.assertEqual(t.position_utg_plus, 3) self.assertEqual(t.dealer_position, 0) self.assertEqual(t.first_raiser, 4) self.assertEqual(np.isnan(t.second_raiser), True) self.assertEqual(np.isnan(t.first_caller), True) self.assertEqual(t.bot_pot, 0.22)
def first_round_98h(self): t, p, gui_signals, h, logger = init_table( 'testing/screenshots/98h.png', strategy='Snowie3', round_number=0) t.checkButton = False d = Decision(t, h, p, l) t.isHeadsUp = True t.gameStage = "PreFlop" d.__init__(t, h, p, l) d.preflop_override(t, logger, h, p) self.assertEqual(t.preflop_sheet_name, '4R3')
def incorrect_preflop_table2(self): t, p, gui_signals, h, logger = init_table( 'testing/screenshots/3Ts.png', strategy='Snowie3') l = MagicMock() t.checkButton = False d = Decision(t, h, p, l) t.isHeadsUp = True t.gameStage = "PreFlop" d.__init__(t, h, p, l) d.preflop_override(t, logger, h, p) self.assertEqual(t.preflop_sheet_name, '6R1C2')
def sheet_12R4R6(self): t, p, gui_signals, h, logger = init_table( 'testing/screenshots/12R4R6.png', round_number=1) l = MagicMock() t.checkButton = False d = Decision(t, h, p, l) t.isHeadsUp = True t.gameStage = "PreFlop" d.__init__(t, h, p, l) d.preflop_override(t, logger, h, p) self.assertEqual(t.preflop_sheet_name, '12R4R6')
def second_round_with_raiser(self): t, p, gui_signals, h, logger = init_table('testing/screenshots/QQ.png', strategy='Snowie3', round_number=1) l = MagicMock() t.checkButton = False d = Decision(t, h, p, l) t.isHeadsUp = True t.gameStage = "PreFlop" d.__init__(t, h, p, l) d.preflop_override(t, logger, h, p) self.assertEqual(t.preflop_sheet_name, '22R6')
def incorrect_preflop_table1(self): t, p, gui_signals, h, logger = init_table( 'testing/screenshots/K9o.png', strategy='Snowie3') l = MagicMock() t.checkButton = False d = Decision(t, h, p, l) t.isHeadsUp = True t.gameStage = "PreFlop" d.__init__(t, h, p, l) d.preflop_override(t, logger, h, p) self.assertEqual(t.first_raiser_utg, 4) self.assertEqual(np.isnan(t.second_raiser_utg), True) self.assertEqual(t.preflop_sheet_name, '6R5')
def test_other_players2(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/751235173_PreFlop_0.png') self.assertEqual(t.position_utg_plus, 5) self.assertEqual(t.dealer_position, 4) self.assertEqual(t.first_raiser, 3) self.assertEqual(np.isnan(t.first_caller), True) self.assertEqual(t.other_players[0]['utg_position'], 0) self.assertEqual(t.other_players[1]['utg_position'], 1) self.assertEqual(t.other_players[2]['utg_position'], 2) self.assertEqual(t.other_players[3]['utg_position'], 3) self.assertEqual(t.other_players[4]['utg_position'], 4)
def test_preflop_round2_3(self): t, p, gui_signals, h, logger = init_table( 'testing/screenshots/897376414_PreFlop_1.png', round_number=1) p = StrategyHandler() p.read_strategy('Pokemon4') l = MagicMock() t.checkButton = False d = Decision(t, h, p, l) t.isHeadsUp = True t.gameStage = "PreFlop" d.__init__(t, h, p, l) d.preflop_override(t, logger, h, p) self.assertEqual(t.first_raiser_utg, 2)
def test_other_players4(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/467381034_PreFlop_0.png') self.assertEqual(t.position_utg_plus, 2) self.assertEqual(t.dealer_position, 1) self.assertEqual(t.first_raiser_utg, 1) self.assertEqual(np.isnan(t.first_caller_utg), True) self.assertEqual(t.playersBehind, 1) self.assertEqual(t.playersAhead, 3) self.assertEqual(t.other_players[0]['pot'], '') self.assertEqual(t.other_players[1]['pot'], 0.02) self.assertEqual(t.other_players[2]['pot'], 0.04) self.assertEqual(t.other_players[3]['pot'], '') self.assertEqual(t.other_players[4]['pot'], 0.12)
def test_other_players3(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/691119677_PreFlop_0.png') self.assertEqual(t.position_utg_plus, 2) self.assertEqual(t.dealer_position, 1) self.assertEqual(t.first_raiser_utg, 0) self.assertEqual(t.first_caller_utg, 1) self.assertEqual(t.playersBehind, 2) self.assertEqual(t.playersAhead, 3) self.assertEqual(t.other_players[0]['utg_position'], 3) self.assertEqual(t.other_players[1]['utg_position'], 4) self.assertEqual(t.other_players[2]['utg_position'], 5) self.assertEqual(t.other_players[3]['utg_position'], 0) self.assertEqual(t.other_players[4]['utg_position'], 1)
def test_position_adjustment(self): t, p, gui_signals, h, logger = init_table( 'testing/screenshots/467381034_PreFlop_0.png', strategy='Pokemon4') t.gameStage = "PreFlop" p = StrategyHandler() p.read_strategy('Nickpick12') l = MagicMock() t.checkButton = True d = Decision(t, h, p, l) t.isHeadsUp = True t.gameStage = "Flop" p.selected_strategy['FlopBluffMinEquity'] = 0.3 p.selected_strategy['FlopBluff'] = "1" p.selected_strategy['pre_flop_equity_reduction_by_position'] = 0.02 d.__init__(t, h, p, l) self.assertAlmostEqual(d.preflop_adjustment, 0.1, delta=0.01)
def test_preflop_call_before_raise(self): t, p, gui_signals, h, logger = init_table( 'testing/screenshots/1791526_PreFlop_0.png', round_number=0) p = StrategyHandler() p.read_strategy('Pokemon4') l = MagicMock() t.checkButton = False d = Decision(t, h, p, l) t.isHeadsUp = True t.gameStage = "PreFlop" d.__init__(t, h, p, l) d.preflop_override(t, logger, h, p) self.assertEqual(t.first_raiser, 2) self.assertEqual(t.second_raiser, 4) self.assertEqual(t.preflop_sheet_name, '6R5C3')
def test_bluff(self): t, p, gui_signals, h, logger = init_table( 'testing/screenshots/751235173_PreFlop_0.png') p = StrategyHandler() p.read_strategy('Pokemon') l = MagicMock() t.totalPotValue = 0.5 t.abs_equity = 0.7 t.checkButton = True d = Decision(t, h, p, l) t.isHeadsUp = True t.gameStage = "Flop" p.selected_strategy['FlopBluffMinEquity'] = 0.3 p.selected_strategy['FlopBluff'] = "1" d.decision = DecisionTypes.check t.playersAhead = 0 d.bluff(t, p, h) self.assertEqual(d.decision, DecisionTypes.bet_bluff) d.decision = DecisionTypes.check t.playersAhead = 1 d.bluff(t, p, h) self.assertEqual(d.decision, DecisionTypes.check)
def funds_error2(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/FundsError2.png') self.assertEqual(t.myFunds, 10.80)
def test_game_number(self): t, p, gui_signals, h, logger = init_table( 'testing/screenshots_ps_real_money/269141380_Flop_0.png', strategy='vid_ps_3_real_money') t.get_game_number_on_screen(h) self.assertEqual(h.game_number_on_screen, "15,547,039,153")
import inspect import re import cv2 # opencv 3.0 import numpy as np from testing.test_engine import init_table from PIL import Image, ImageFilter #FOR TOTAL POT VALUE t, p, gui_signals, h, logger = init_table('testing/screenshots_ps_real_money/9455534_PreFlop_1.png', strategy='vid_ps_3_real_money') #t, p, gui_signals, h, logger = init_table('testing/screenshots_ps_real_money/269141380_Flop_0.png',strategy='vid_ps_3_real_money') #t, p, gui_signals, h, logger = init_table('testing/screenshots_ps_real_money/322098970_PreFlop_0.png', strategy='vid_ps_3_real_money') func_dict = t.coo['get_total_pot_value'][t.tbl] #t.gui_signals.signal_progressbar_increase.emit(5) #t.gui_signals.signal_status.emit("Get Pot Value") #t.logger.debug("Get TotalPot value") pil_image = t.crop_image(t.entireScreenPIL, t.tlc[0] + func_dict['x1'], t.tlc[1] + func_dict['y1'], t.tlc[0] + func_dict['x2'], t.tlc[1] + func_dict['y2']) pil_image.show() if t.tbl == 'PS': img = cv2.cvtColor(np.array(pil_image), cv2.COLOR_BGR2RGB) left_count, left_points, left_bestfit, left_minvalue = t.find_template_on_screen(t.totalpot, img, 0.01) right_count, right_points, right_cbestfit, right_minvalue = t.find_template_on_screen(t.rightpot, img, 0.01) count = (left_count > 0) & (right_count > 0) if count: number_image = t.crop_image(pil_image, left_points[0][0] + 7, 2, right_points[0][0] + 4,
def sheet_incorrect_fold(self): t, p, gui_signals, h, logger = init_table( 'tests/screenshots/49278076_PreFlop_0.png') self.assertEqual(t.currentCallValue, 0.34) self.assertEqual(t.currentBetValue, 0.60) self.assertEqual(t.myFunds, 4.98)
import numpy as np from tools.mouse_mover import * from decisionmaker.decisionmaker import Decision from decisionmaker.decisionmaker import DecisionTypes from tools.mongo_manager import StrategyHandler from testing.test_engine import init_table from decisionmaker.current_hand_memory import History, CurrentHandPreflopState from gui.gui_qt_ui import Ui_Pokerbot from decisionmaker.montecarlo_python import run_montecarlo_wrapper #t, p, gui_signals, h, logger = init_table('testing/screenshots/751235173_PreFlop_0.png') #t, p, gui_signals, h, logger = init_table('testing/screenshots/ps_7.png') t, p, gui_signals, h, logger = init_table('testing/screenshots_ps_real_money/269141380_Flop_0.png', strategy='vid_ps_3_real_money') #t, p, gui_signals, h, logger = init_table('pics/old/error.png') p = StrategyHandler() #p.current_strategy = 'pokemon' p.current_strategy = 'vid_ps_2' p.read_strategy('vid_ps_2') #p.read_strategy('pokemon') mouse = MouseMoverTableBased(p.selected_strategy['pokerSite']) p.selected_strategy['gather_player_names'] = 1 h.game_number_on_screen = '1' ready = t.check_for_captcha(mouse) and \ t.get_lost_everything(h, t, p, gui_signals) and \ t.check_for_imback(mouse) and \
from unittest.mock import MagicMock import numpy as np from tools.mouse_mover import * from decisionmaker.decisionmaker import Decision from decisionmaker.decisionmaker import DecisionTypes from tools.mongo_manager import StrategyHandler from testing.test_engine import init_table from decisionmaker.current_hand_memory import History, CurrentHandPreflopState from gui.gui_qt_ui import Ui_Pokerbot from decisionmaker.montecarlo_python import run_montecarlo_wrapper #t, p, gui_signals, h, logger = init_table('testing/screenshots/751235173_PreFlop_0.png') #t, p, gui_signals, h, logger = init_table('testing/screenshots/ps_7.png') t, p, gui_signals, h, logger = init_table('testing/screenshots/ps_20.png') #t, p, gui_signals, h, logger = init_table('pics/old/error.png') p = StrategyHandler() #p.current_strategy = 'pokemon' p.current_strategy = 'vid_ps_2' p.read_strategy('vid_ps_2') #p.read_strategy('pokemon') mouse = MouseMoverTableBased(p.selected_strategy['pokerSite']) p.selected_strategy['gather_player_names'] = 1 h.game_number_on_screen = '1' ready = t.check_for_captcha(mouse) and \ t.get_lost_everything(h, t, p, gui_signals) and \ t.check_for_imback(mouse) and \ t.get_my_cards(h) and \