Esempio n. 1
0
def test_full_house_in_desk():
    desk = [Card('Js'), Card('Jh'), Card('Jc'), Card('Kd'), Card('Ks')]
    hand = [
        Card('As'),
        Card('Uu'),
        Card('5c'),
        Card('Ac'),
        Card('Ad'),
        Card('2h'),
        Card('5h')
    ]
    assert {Card('As'),
            Card('Ac'),
            Card('Ad'),
            Card('5h'),
            Card('5c')} in LandlordRule().possibilities(desk, hand)
    desk = [Card('Js'), Card('Jh'), Card('Jc'), Card('Kd'), Card('Ks')]
    hand = [
        Card('5s'),
        Card('Uu'),
        Card('5c'),
        Card('Ac'),
        Card('Ad'),
        Card('2h'),
        Card('5h')
    ]
    assert [] == LandlordRule().possibilities(desk, hand)
Esempio n. 2
0
def test_single_card_in_desk():
    assert LandlordRule().possibilities(
        [Card('Uu')], [Card('Vv'), Card('5c')]) == [{Card('Vv')}]
    assert LandlordRule().possibilities(
        [Card('Ks')], [Card('2h'), Card('5c')]) == [{Card('2h')}]
    assert LandlordRule().possibilities([Card('2s')],
                                        [Card('2h'), Card('5c')]) == []
    assert LandlordRule().possibilities([Card('Ks')],
                                        [Card('Jh'), Card('5c')]) == []
Esempio n. 3
0
def test_three_same_card_and_one_single_card_in_desk():
    # todo: can the single card be joker?
    desk = [Card('Js'), Card('Jh'), Card('Jc'), Card('As')]
    hand = [Card('Ks'), Card('Kd'), Card('3c'), Card('Kc'), Card('2d')]
    assert {Card('Ks'), Card('Kd'),
            Card('Kc'),
            Card('3c')} in LandlordRule().possibilities(desk, hand)
    assert {Card('Ks'), Card('Kd'),
            Card('Kc'),
            Card('2d')} in LandlordRule().possibilities(desk, hand)
    desk = [Card('7d'), Card('Kh'), Card('Kd'), Card('Ks')]
    hand = [Card('9s'), Card('Ad'), Card('9h'), Card('9c'), Card('Jd')]
    assert [] == LandlordRule().possibilities(desk, hand)
Esempio n. 4
0
def test_all_possibilities():
    hand = [
        Card('As'),
        Card('Uu'),
        Card('5c'),
        Card('Ac'),
        Card('Ad'),
        Card('2h'),
        Card('5h')
    ]
    assert {Card('As'), Card('Ac'),
            Card('Ad'), Card('2h')} in LandlordRule().all_possibilities(hand)
Esempio n. 5
0
def test_five_card_straight_in_desk():
    desk = [Card('5s'), Card('6h'), Card('7c'), Card('8d'), Card('9s')]
    hand = [
        Card('Js'),
        Card('Tc'),
        Card('Qd'),
        Card('9c'),
        Card('Qc'),
        Card('Ad'),
        Card('Kh'),
        Card('2h')
    ]
    assert ({
        Card('Tc'), Card('Js'),
        Card('Qc'), Card('Kh'),
        Card('Ad')
    } in LandlordRule().possibilities(desk, hand) or {
        Card('Tc'), Card('Js'),
        Card('Qd'), Card('Kh'),
        Card('Ad')
    } in LandlordRule().possibilities(desk, hand))
Esempio n. 6
0
def test_super_bomb_in_hand():
    desk = [Card('As'), Card('Ah'), Card('Ac'), Card('Ad')]
    hand = [
        Card('Vv'),
        Card('Tc'),
        Card('9c'),
        Card('Uu'),
        Card('Ad'),
        Card('Kh'),
        Card('2h')
    ]
    assert [{Card('Vv'),
             Card('Uu')}] == LandlordRule().possibilities(desk, hand)
Esempio n. 7
0
def test_four_same_card_aka_bomb_in_desk():
    desk = [Card('Js'), Card('Jh'), Card('Jc'), Card('Jd')]
    hand = [
        Card('2s'),
        Card('Uu'),
        Card('5c'),
        Card('2c'),
        Card('2d'),
        Card('2h')
    ]
    assert {Card('2s'), Card('2c'),
            Card('2d'),
            Card('2h')} in LandlordRule().possibilities(desk, hand)
    desk = [Card('Js'), Card('Jh'), Card('Jc'), Card('Jd')]
    hand = [
        Card('2s'),
        Card('Uu'),
        Card('5c'),
        Card('Ac'),
        Card('2d'),
        Card('2h')
    ]
    assert [] == LandlordRule().possibilities(desk, hand)
Esempio n. 8
0
def test_four_same_card_in_hand():
    desk = [Card('As'), Card('Ah'), Card('Ac'), Card('2d'), Card('2c')]
    hand = [
        Card('9d'),
        Card('9h'),
        Card('9c'),
        Card('Uu'),
        Card('Ad'),
        Card('9s'),
        Card('2h')
    ]
    assert [{Card('9d'), Card('9h'),
             Card('9c'),
             Card('9s')}] == LandlordRule().possibilities(desk, hand)
Esempio n. 9
0
def test_three_same_card_in_desk():
    desk = [Card('Js'), Card('Jh'), Card('Jc')]
    hand = [Card('2s'), Card('Uu'), Card('5c'), Card('2c'), Card('2d')]
    assert {Card('2s'), Card('2c'),
            Card('2d')} in LandlordRule().possibilities(desk, hand)
Esempio n. 10
0
def test_two_same_card_in_desk():
    desk = [Card('Ks'), Card('Kh')]
    hand = [Card('As'), Card('Uu'), Card('5c'), Card('Ac')]
    assert {Card('As'), Card('Ac')} in LandlordRule().possibilities(desk, hand)