def __init__(self): self.vencedor = None self.propriedades = [ Propriedade('Morumbi', 300, 100), Propriedade('Santo Amaro', 200, 50) ] self.jogadores = [ Impulsivo('Azul'), Aleatorio('Vermelho'), Exigente('Verde'), Cauteloso('Amarelo') ]
def test_nao_deve_poder_comprar_quando_o_saldo_restante_fica_menos_de_80( self): self.propriedade = Propriedade("Santo Amaro", 221, 50) deveComprar = self.cauteloso.deveComprar(self.propriedade) self.assertFalse(deveComprar)
def test_nao_deve_poder_comprar_quando_o_aluguel_da_propriedade_for_menor_que_50( self): self.propriedade = Propriedade("Pampulha", 260, 49) deveComprar = self.exigente.deveComprar(self.propriedade) self.assertFalse(deveComprar)
def test_retira_dono(): propriedade = Propriedade(200, 30, "Loja - Vila Mariana") jogador = Jogador("Alberto") propriedade.dono = jogador assert propriedade.dono == jogador propriedade.retira_dono() assert propriedade.dono == SEM_DONO
def _cria_propriedades(self, qtd_propriedades): self.propriedades = [] for i in range(1, qtd_propriedades + 1): vlvenda = random.randint(*self.range_valores_propriedade) vlalug = vlvenda // 100 if self.valor_aluguel_equiv_valor_venda else \ random.randint(*self.range_valores_aluguel) self.propriedades.append( Propriedade( f"Propriedade {i}", vlvenda, vlalug, ))
def test_compra_propriedade(): NUM_TENTATIVAS = 5000 resultado = [] for i in range(NUM_TENTATIVAS): propriedade = Propriedade(60, 5, "Apartamento - Ibirapuera") aleatorio = Aleatorio("Maria") saldo_anterior = aleatorio.saldo aleatorio.acao(propriedade) if aleatorio.saldo == saldo_anterior - propriedade.venda: # Comprou resultado.append("comprou") else: resultado.append(("Nao Comprou")) compras = len([r for r in resultado if r == "comprou" ]) / NUM_TENTATIVAS * 100 assert compras > 48 and compras < 52
def __init__(self): self.rodada = 0 self.vencedor = "Ninguem" self.timeout = False self.propriedades = [ Propriedade(0,0,"Inicio"), #0 Inicio Propriedade(60, 5, "Apartamento - Ibirapuera"), #1 Propriedade(60, 35, "Loja - Moema"), #2 Propriedade(20, 5, "Supermercado - Brooklin"), #3 Propriedade(70, 15, "Apartamento - Santo Amaro"), #4 Propriedade(120, 55, "Mercearia - Socorro"), #5 Propriedade(90, 60, "Pastelaria - Tatuape"), #6 Propriedade(60, 15, "Loja - Penha"), #7 Propriedade(30, 5, "Farmacia - Santana"), #8 Propriedade(230, 60, "Hotel - Casa Verde"), #9 Propriedade(40, 5, "Escola - Butantã"), #10 Propriedade(110, 55, "Apartamento - Pirituba"), #11 Propriedade(60 , 15, "Loja - Freguesia do O"), #12 Propriedade(50, 15, "Supermercado - Lapa"), #13 Propriedade(130, 50, "Apartamento - Pinheiros"), #14 Propriedade(60, 5 , "Mercearia - Pompeia"), #15 Propriedade(30, 5, "Hotel - Vila Madalena"), #16 Propriedade(85, 30, "Loja - Santa Ifigenia"), #17 Propriedade(70 , 25, "Farmacia - Anhangabau"), #18 Propriedade(60, 10, "Minimercado - Liberdade"), #19 Propriedade(20, 5, "Escola - Mooca"), #20 ] self.NUM_PROPRIEDADES = len(self.propriedades) - 1 self.jogadores = [ Impulsivo("João"), Exigente("José"), Cauteloso("Ana"), Aleatorio("Maria") ] self.JOGANDO = len(self.jogadores)
def setUp(self): self.nome = "Savassi" self.valorDaVenda = 250 self.valorDoAluguel = 25 self.propriedade = Propriedade(self.nome, self.valorDaVenda, self.valorDoAluguel)
from jogador import Jogador from aleatorio import Aleatorio from propriedade import Propriedade propriedade = Propriedade(60, 5, "Apartamento - Ibirapuera") aleatorio = Aleatorio("Maria") def test_compra_propriedade(): NUM_TENTATIVAS = 5000 resultado = [] for i in range(NUM_TENTATIVAS): propriedade = Propriedade(60, 5, "Apartamento - Ibirapuera") aleatorio = Aleatorio("Maria") saldo_anterior = aleatorio.saldo aleatorio.acao(propriedade) if aleatorio.saldo == saldo_anterior - propriedade.venda: # Comprou resultado.append("comprou") else: resultado.append(("Nao Comprou")) compras = len([r for r in resultado if r == "comprou" ]) / NUM_TENTATIVAS * 100 assert compras > 48 and compras < 52 def test_aluga_propriedade(): jogador = Jogador("Carlos") propriedade.dono = jogador saldo_anteriro = aleatorio.saldo
def setUp(self): self.exigente = Exigente("Cleber Carmo") self.propriedade = Propriedade("Pampulha", 260, 50)
from jogador import Jogador from propriedade import Propriedade jogador = Jogador("Carlos") outro_jogador = Jogador("Antonio") p1_sem_dono = Propriedade(260, 60, "Casa - Paraiso") def test_nao_aluga(): saldo_anterior = jogador.saldo jogador.acao(p1_sem_dono) assert jogador.saldo == saldo_anterior p2_com_dono = Propriedade(260, 60, "Casa - Paraiso") p2_com_dono.dono = outro_jogador def test_aluga(): saldo_anterior = jogador.saldo saldo_anterior_outro = outro_jogador.saldo jogador.acao(p2_com_dono) assert jogador.saldo == saldo_anterior - p2_com_dono.aluguel and \ outro_jogador.saldo == saldo_anterior_outro + p2_com_dono.aluguel
def setUp(self): self.cauteloso = Cauteloso("Rafael T") self.propriedade = Propriedade("Santo Amaro", 220, 50)
from impulsivo import Impulsivo from propriedade import Propriedade impulsivo = Impulsivo("Joao") propriedade = Propriedade(260, 60, "Casa - Paraiso") def test_compra(): saldo_anterior = impulsivo.saldo impulsivo.acao(propriedade) assert impulsivo.saldo == saldo_anterior - propriedade.venda
def setUp(self): self.exigente = Exigente("Rafael T") self.propriedade = Propriedade("Santo Amaro", 260, 50)
def test_sem_dono(): # Propriedade criada sem dono propriedade = Propriedade(200, 30, "Loja - Vila Mariana") assert propriedade.temdono() == False
def test_aluga(): propriedade = Propriedade(200, 30, "Loja - Vila Mariana") jogador = Jogador("Alberto") saldo_anterior = jogador.saldo propriedade.aluga(jogador) assert jogador.saldo == saldo_anterior - propriedade.aluguel
def test_com_dono(): propriedade = Propriedade(200, 30, "Loja - Vila Mariana") jogador = Jogador("Alberto") propriedade.dono = jogador assert propriedade.temdono() == True
from exigente import Exigente from propriedade import Propriedade exigente = Exigente("Jpse") p1_aluguel_60 = Propriedade(260, 60, "Casa - Paraiso") def test_compra_atende_criterio(): saldo_anterior = exigente.saldo exigente.acao(p1_aluguel_60) assert exigente.saldo == saldo_anterior - p1_aluguel_60.venda p2_aluguel_5 = Propriedade(60, 5, "Apartamento - Ibirapuera") def test_nao_compra_nao_atende_criterio(): saldo_anterior = exigente.saldo exigente.acao(p2_aluguel_5) assert exigente.saldo == saldo_anterior
def setUp(self): self.cauteloso = Cauteloso("Cleber Carmo") self.propriedade = Propriedade("Pampulha", 220, 50)