def test_zamichani_balicku(): """Každá hra by měla být jiná""" from klondike import vytvor_balicek balicek1 = vytvor_balicek() balicek2 = vytvor_balicek() # Je šance 1 z 80658175170943878571660636856403766975289505440883277824000000000000, # že dva náhodné balíčky budou stejné. # Nejspíš je pravděpodobnější, že v průběhu testu odejde počítač, # na kterém test běží, než aby se ty karty zamíchaly stejně. assert balicek1 != balicek2, 'Karty nejsou zamíchané!'
def test_rozdej_sloupecky_ostatni_rubem_nahoru(cislo_sloupce): """Karty pod první kartou sloupečku jsou rubem nahoru""" from klondike import vytvor_balicek, rozdej_sloupecky balicek = vytvor_balicek() sloupecky = rozdej_sloupecky(balicek) for karta in sloupecky[cislo_sloupce][:-1]: hodnota, barva, je_licem_nahoru = karta assert not je_licem_nahoru
def test_rozdej_sloupecky_balicek_rubem_nahoru(): """Po rozdání sloupečků by měl celý balíček být rubem nahoru""" from klondike import vytvor_balicek, rozdej_sloupecky balicek = vytvor_balicek() sloupecky = rozdej_sloupecky(balicek) for hodnota, barva, je_licem_nahoru in balicek: assert not je_licem_nahoru
def test_rozdej_sloupecky_posledni_licem_nahoru(cislo_sloupce): """Poslední karta sloupečku je lícem nahoru""" from klondike import vytvor_balicek, rozdej_sloupecky balicek = vytvor_balicek() sloupecky = rozdej_sloupecky(balicek) posledni_karta = sloupecky[cislo_sloupce][-1] hodnota, barva, je_licem_nahoru = posledni_karta assert je_licem_nahoru
def test_rozdej_sloupecky_zvrchu_balicku(): """Karty by měly být rozdané z konce balíčku""" from klondike import vytvor_balicek, rozdej_sloupecky balicek = vytvor_balicek() kopie_puvodniho_balicku = list(balicek) sloupecky = rozdej_sloupecky(balicek) assert balicek == kopie_puvodniho_balicku[:len(balicek)]
def test_vytvor_balicek_pocet_barvy(barva): """Balíček by měl obsahovat 13 karet dané barvy""" from klondike import vytvor_balicek balicek = vytvor_balicek() pocet = 0 for hodnota_karty, barva_karty, je_licem_nahoru in balicek: if barva_karty == barva: pocet = pocet + 1 assert pocet == 13
def test_vytvor_balicek_pocet_hodnoty(hodnota): """Balíček by měl obsahovat 4 karty dané hodnoty""" from klondike import vytvor_balicek balicek = vytvor_balicek() pocet = 0 for hodnota_karty, barva_karty, je_licem_nahoru in balicek: if hodnota_karty == hodnota: pocet = pocet + 1 assert pocet == 4
def test_rozdej_sloupecky_velikost_balicku(): """V balíčku by měly chybět karty ze sloupečků""" from klondike import vytvor_balicek, rozdej_sloupecky balicek = vytvor_balicek() sloupecky = rozdej_sloupecky(balicek) # Ceklový počet karet ve sloupečcích velikost_vsech_sloupecku = 0 for sloupecek in sloupecky: velikost_vsech_sloupecku = velikost_vsech_sloupecku + len(sloupecek) # Kontrola počtu karet v balíčku assert len(balicek) == 52 - velikost_vsech_sloupecku
def test_rozdej_sloupecky_nechybi_karty(): """V balíčku a sloupečcích by měly být všechny karty""" from klondike import vytvor_balicek, rozdej_sloupecky from karty import otoc_kartu balicek = vytvor_balicek() kopie_puvodniho_balicku = list(balicek) sloupecky = rozdej_sloupecky(balicek) vsechny_karty = list(balicek) for sloupecek in sloupecky: for karta in sloupecek: vsechny_karty.append(otoc_kartu(karta, False)) vsechny_karty.sort() kopie_puvodniho_balicku.sort() assert vsechny_karty == kopie_puvodniho_balicku
def test_vytvor_balicek_bez_duplikatu(): """Balíček by neměl obsahovat duplikáty""" from klondike import vytvor_balicek balicek = vytvor_balicek() for karta in balicek: assert balicek.count(karta) == 1
def test_rozdej_sloupecky_velikost(cislo_sloupce): """Kontrola velikosti rozdaného sloupečku""" from klondike import vytvor_balicek, rozdej_sloupecky balicek = vytvor_balicek() sloupecky = rozdej_sloupecky(balicek) assert len(sloupecky[cislo_sloupce]) == cislo_sloupce + 1
def test_vytvor_balicek_52(): """Balíček by měl obsahovat 52 karet""" from klondike import vytvor_balicek assert len(vytvor_balicek()) == 52
def test_rozdej_sloupecky_7(): """Rozdaných sloupečků má být 7""" from klondike import vytvor_balicek, rozdej_sloupecky balicek = vytvor_balicek() sloupecky = rozdej_sloupecky(balicek) assert len(sloupecky) == 7