def menu(self): self.c = Cliente(None, 0, None) self.q = Quarto(0, None) self.r = Reserva(None, None, None, None) self.h = Hospedagem(None, None, None) op=0 while op != 5: print "" print "" print "Hotel LOO-IFF" print "" print "1 - Clientes" print "2 - Quartos" print "3 - Reservas" print "4 - Hospedagens" print "5 - Sair" op = input("Digite sua opção: ") if op == 1: self.menuClientes() if op == 2: self.menuQuartos() if op == 3: self.menuReservas() if op == 4: self.menuHospedagens()
def testaAinit(self): self.h.num |should| equal_to(1) self.h.cliente.nome |should| equal_to('Thiago Neves') self.h.quarto.num |should| equal_to(202) self.h.dtinicio |should| equal_to(date.today()) self.h.dtfim |should| equal_to(date(2011, 07, 10)) self.h.vlextra |should| equal_to(0.00) self.h.situacao |should| equal_to('Em Aberto') self.h = Hospedagem(self.q, Cliente('Ronaldinho Gaucho', '98765478909', '2167549876'), date(2011, 7, 11)) self.h.num |should| equal_to(2) self.h.cliente.nome |should| equal_to('Ronaldinho Gaucho') self.h.quarto.num |should| equal_to(202) self.h.dtinicio |should| equal_to(date.today()) self.h.dtfim |should| equal_to(date(2011, 07, 11)) self.h.vlextra |should| equal_to(0.00) self.h.situacao |should| equal_to('Em Aberto')
def setUp(self): self.c = Cliente('Thiago Neves', '12369978909', '2299019866') self.q = Quarto(202, 'Master') self.h = Hospedagem(self.q, self.c, date(2011, 07, 10)) self.r = Reserva(None, None, None, None)
class TestaHospedagem(unittest.TestCase): def setUp(self): self.c = Cliente('Thiago Neves', '12369978909', '2299019866') self.q = Quarto(202, 'Master') self.h = Hospedagem(self.q, self.c, date(2011, 07, 10)) self.r = Reserva(None, None, None, None) def testaAinit(self): self.h.num |should| equal_to(1) self.h.cliente.nome |should| equal_to('Thiago Neves') self.h.quarto.num |should| equal_to(202) self.h.dtinicio |should| equal_to(date.today()) self.h.dtfim |should| equal_to(date(2011, 07, 10)) self.h.vlextra |should| equal_to(0.00) self.h.situacao |should| equal_to('Em Aberto') self.h = Hospedagem(self.q, Cliente('Ronaldinho Gaucho', '98765478909', '2167549876'), date(2011, 7, 11)) self.h.num |should| equal_to(2) self.h.cliente.nome |should| equal_to('Ronaldinho Gaucho') self.h.quarto.num |should| equal_to(202) self.h.dtinicio |should| equal_to(date.today()) self.h.dtfim |should| equal_to(date(2011, 07, 11)) self.h.vlextra |should| equal_to(0.00) self.h.situacao |should| equal_to('Em Aberto') def testaBcheckIn(self): self.c.cadCli('Anderson Silva', '12369978909', '2299019866') self.q.cadQuarto(203, 'Simples') self.h.checkIn(self.q, 203, self.c, 4, date(2011, 07, 10)) self.h.lista[0].num |should| equal_to(4) self.h.lista[0].quarto.num |should| equal_to(203) self.q.lista[0].situacao |should| equal_to('Ocupado') self.c.lista[0].qtdHosp |should| equal_to(1) self.h.lista[0].cliente.nome |should| equal_to('Anderson Silva') self.h.lista[0].dtinicio |should| equal_to(date.today()) self.h.lista[0].dtfim |should| equal_to(date(2011, 07, 10)) self.h.lista[0].situacao |should| equal_to('Em Aberto') self.h.lista[0].vlextra |should| equal_to(0.00) self.c.cadCli('Lionel Messi', '12369978909', '2299019866') self.q.cadQuarto(202, 'Master') self.h.checkIn(self.q, 202, self.c, 5, date(2011, 07, 5)) self.h.lista[1].num |should| equal_to(5) self.h.lista[1].quarto.num |should| equal_to(202) self.q.lista[1].situacao |should| equal_to('Ocupado') self.c.lista[1].qtdHosp |should| equal_to(1) self.h.lista[1].cliente.nome |should| equal_to('Lionel Messi') self.h.lista[1].dtinicio |should| equal_to(date.today()) self.h.lista[1].dtfim |should| equal_to(date(2011, 07, 5)) self.h.lista[1].situacao |should| equal_to('Em Aberto') self.h.lista[1].vlextra |should| equal_to(0.00) def testaBcheckOut(self): self.h.checkOut(self.h, 4, self.q, 58.95) self.h.lista[0].num |should| equal_to(4) self.h.lista[0].quarto.num |should| equal_to(203) self.q.buscarQuarto(self.q, 203).situacao |should| equal_to('Livre') self.h.lista[0].cliente.nome |should| equal_to('Anderson Silva') self.h.lista[0].dtfim |should| equal_to(date.today()) self.h.lista[0].situacao |should| equal_to('Encerrada') self.h.lista[0].vlextra |should| equal_to(58.95) self.h.lista[0].vltotal |should| equal_to(148.95) #valor de 1 diaria de 90,00(quarto simples) + o gasto no frigobar (58.95) def testaCnumDeDiarias(self): self.h.numDeDiarias(date(2011, 7, 4), date(2011, 7, 4)) |should| equal_to(1) self.h.numDeDiarias(date(2011, 7, 4), date(2011, 7, 5)) |should| equal_to(1) self.h.numDeDiarias(date(2011, 7, 4), date(2011, 7, 14)) |should| equal_to(10) self.h.numDeDiarias(date(2011, 7, 4), date(2011, 10, 12)) |should| equal_to(100) def testaElistarHospedagens(self): self.h.listarHospedagens(self.h) |should| equal_to([self.h.lista[0], self.h.lista[1]]) def testaGlistarQuartosPorSituacao(self): self.h.listarHospedagensPorSituacao(self.h, 'Em Aberto') |should| equal_to([self.h.lista[1]]) self.h.listarHospedagensPorSituacao(self.h, 'Encerrada') |should| equal_to([self.h.lista[0]]) def testaHcancelarHospedagem(self): self.h.cancelarHospedagem(self.h, 9) |should| equal_to("\n\nA Hospedagem informada não Existe") self.h.cancelarHospedagem(self.h, 4) |should| equal_to("\n\nHospedagem Cancelada com Sucesso") self.h.cancelarHospedagem(self.h, 4) |should| equal_to("\n\nA Hospedagem informada não Existe") def testaIvalidarReserva(self): self.h.validarHospedagem(self.h, self.r, self.q, 210, self.c, 4, date(2011, 11, 15)) |should| equal_to("Quarto nao Cadastrado") self.h.validarHospedagem(self.h, self.r, self.q, 203, self.c, 9, date(2011, 11, 15)) |should| equal_to("Cliente nao Cadastrado") self.h.validarHospedagem(self.h, self.r, self.q, 202, self.c, 4, date(2011, 11, 15)) |should| equal_to("Quarto Ocupado") self.h.validarHospedagem(self.h, self.r, self.q, 203, self.c, 4, date(2011, 7, 2)) |should| equal_to("Data de Saida deve ser maior do que a de hoje") self.r.cadReserva(self.q, 203, self.c, 5, date(2011, 7, 10), date(2011, 7, 15)) self.h.validarHospedagem(self.h, self.r, self.q, 203, self.c, 4, date(2011, 7, 10)) |should| equal_to("Existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[0])) self.h.validarHospedagem(self.h, self.r, self.q, 203, self.c, 4, date(2011, 7, 15)) |should| equal_to("Existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[0])) self.h.validarHospedagem(self.h, self.r, self.q, 203, self.c, 4, date(2011, 7, 16)) |should| equal_to("Existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[0])) self.h.validarHospedagem(self.h, self.r, self.q, 203, self.c, 4, date(2011, 7, 9)) |should| equal_to("Checkin Concluido") def testaJcheckOutDeClienteVip(self): self.h.checkOut(self.h, 12, self.q, 58.95) self.h.checkIn(self.q, 203, self.c, 4, date(2011, 07, 10)) #3º hospedagem do cliente 'Anderson Sliva' self.h.checkOut(self.h, 14, self.q, 58.95) self.h.checkIn(self.q, 203, self.c, 4, date(2011, 07, 10)) #4º hospedagem do cliente 'Anderson Sliva' self.h.checkOut(self.h, 15, self.q, 58.95) self.h.checkIn(self.q, 203, self.c, 4, date(2011, 07, 10)) #5º hospedagem do cliente 'Anderson Sliva' *****VIROU VIP****** self.h.checkOut(self.h, 16, self.q, 90.00) self.h.lista[4].num |should| equal_to(16) self.h.lista[4].quarto.num |should| equal_to(203) self.q.buscarQuarto(self.q, 203).situacao |should| equal_to('Livre') self.h.lista[4].cliente.nome |should| equal_to('Anderson Silva') self.h.lista[4].dtfim |should| equal_to(date.today()) self.h.lista[4].situacao |should| equal_to('Encerrada') self.h.lista[4].vlextra |should| equal_to(90.00) self.h.lista[4].vltotal |should| equal_to(162.00) #1 diaria de 90,00 + frigobar (90.00) - 10% CLIENTE VIP (18.00) self.h.checkIn(self.q, 203, self.c, 4, date(2011, 07, 10)) #6º hospedagem do cliente 'Anderson Sliva' self.h.checkOut(self.h, 17, self.q, 30.00) self.h.lista[5].num |should| equal_to(17) self.h.lista[5].quarto.num |should| equal_to(203) self.q.buscarQuarto(self.q, 203).situacao |should| equal_to('Livre') self.h.lista[5].cliente.nome |should| equal_to('Anderson Silva') self.h.lista[5].dtfim |should| equal_to(date.today()) self.h.lista[5].situacao |should| equal_to('Encerrada') self.h.lista[5].vlextra |should| equal_to(30.00) self.h.lista[5].vltotal |should| equal_to(108.00) #1 diaria de 90,00 + frigobar (30.00) - 10% CLIENTE VIP (12.00)
class Hotel(object): def menu(self): self.c = Cliente(None, 0, None) self.q = Quarto(0, None) self.r = Reserva(None, None, None, None) self.h = Hospedagem(None, None, None) op=0 while op != 5: print "" print "" print "Hotel LOO-IFF" print "" print "1 - Clientes" print "2 - Quartos" print "3 - Reservas" print "4 - Hospedagens" print "5 - Sair" op = input("Digite sua opção: ") if op == 1: self.menuClientes() if op == 2: self.menuQuartos() if op == 3: self.menuReservas() if op == 4: self.menuHospedagens() def menuClientes(self): op=0 while op != 3: print "" print "" print "Menu de Clientes" print "" print "1 - Cadastrar Cliente" print "2 - Relatórios de Clientes" print "3 - Voltar" op = input("Digite sua opção: ") if op == 1: self.cadCli() if op == 2: self.menuRelCli() def cadCli(self): print "" print "" print "Cadastros de Clientes" print "" nome = raw_input("Nome: ") cpf = raw_input("CPF: ") tel = raw_input("Telefone: ") self.c.cadCli(nome, cpf, tel) def menuRelCli(self): op=0 while op != 3: print "" print "" print "Relatorios de Clientes" print ""; print "1 - Lista Cliente" print "2 - Lista de Clientes VIPs" print "3 - Voltar"; op = input("Digite sua opção: ") if op == 1: self.relCli() if op == 2: self.relCliVip() def relCli(self): print "" print "Lista de Clientes" print ""; for i in range(0, len(self.c.lista)): print self.c.listarClientes(self.c)[i] def relCliVip(self): print "" print "Lista de Clientes VIP" print ""; for i in range(0, len(self.c.listarClientesVip(self.c))): print self.c.listarClientesVip(self.c)[i] def menuQuartos(self): op=0 while op != 3: print "" print "" print "Menu de Quartos" print "" print "1 - Cadastrar Quarto" print "2 - Relatórios de Quartos" print "3 - Voltar" op = input("Digite sua opção: ") if op == 1: self.cadQuarto() if op == 2: self.menuRelQuartos() def cadQuarto(self): tp = 0 print "" print "" print "Cadastros de Quartos" print "" num = input("Numero: ") while tp != 1 and tp != 2 and tp != 3: print "Tipo do Quarto:" print "1 - Simples" print "2 - Casal" print "3 - Master" tp = input("Escolha o Tipo do Quarto: ") if tp == 1: tipo = 'Simples' if tp == 2: tipo = 'Casal' if tp == 3: tipo = 'Master' print "" print self.q.cadQuarto(num, tipo) def menuRelQuartos(self): op=0 while op != 4: print "" print "" print "Relatorios de Quartos" print ""; print "1 - Lista Quartos" print "2 - Lista de Quartos por Tipo" print "3 - Lista de Quartos por Ocupacao"; print "4 - Voltar"; op = input("Digite sua opção: ") if op == 1: self.relQuartos() if op == 2: self.relQuartosPorTipo() if op == 3: self.relQuartosPorSituacao() def relQuartos(self): print "" print "Lista de Quartos" print ""; for i in range(0, len(self.q.lista)): print self.q.listarQuartos(self.q)[i] def relQuartosPorTipo(self): tp = 0 print "" print "Lista de Quartos por Tipo" print "" while tp != 1 and tp != 2 and tp != 3: print "Tipo do Quarto:" print "1 - Simples" print "2 - Casal" print "3 - Master" tp = input("Escolha o Tipo do Quarto: ") if tp == 1: tipo = 'Simples' if tp == 2: tipo = 'Casal' if tp == 3: tipo = 'Master' print "" print "Lista de Quartos (Tipo %s)" %tipo print "" for i in range(0, len(self.q.listarQuartosPorTipo(self.q, tipo))): print self.q.listarQuartosPorTipo(self.q, tipo)[i] def relQuartosPorSituacao(self): sit = 0 print "" print "Lista de Quartos por Ocupacao" print "" while sit != 1 and sit != 2: print "Tipo do Quarto:" print "1 - Livre" print "2 - Ocupado" sit = input("Livre ou Ocupado? ") if sit == 1: situacao = 'Livre' if sit == 2: situacao = 'Ocupado' print "" print "Lista de Quartos "+situacao+"s" print "" for i in range(0, len(self.q.listarQuartosPorSituacao(self.q, situacao))): print self.q.listarQuartosPorSituacao(self.q, situacao)[i] def menuReservas(self): op=0 while op != 4: print "" print "" print "Menu de Reservas" print "" print "1 - Cadastrar Reserva" print "2 - Relatórios de Reservas" print "3 - Cancelamento de Reserva" print "4 - Voltar" op = input("Digite sua opção: ") if op == 1: self.cadReserva() if op == 2: self.menuRelReservas() if op == 3: self.menuCancelarReservas() def cadReserva(self): print "" print "" print "Cadastros de Reservas" print "" nq = input("Nº do Quarto: ") nc = input("Codigo do Cliente: ") chegada = raw_input("Data da Chegada(ddMMaaaa): ") saida = raw_input("Data da Saída(ddMMaaaa): ") di = date(int(chegada[4:8]), int(chegada[2:4]), int(chegada[:2])) df = date(int(saida[4:8]), int(saida[2:4]), int(saida[:2])) print "" print self.r.validarReserva(self.r, self.q, nq, self.c, nc, di, df) def menuCancelarReservas(self): print "" print "" print "Cancelamento de Reservas" print "" nr = input("Nº da Reserva: ") print self.r.cancelarReserva(self.r, nr) def menuRelReservas(self): op=0 while op != 3: print "" print "" print "Relatorios de Reservas" print ""; print "1 - Lista Geral de Reservas" print "2 - Lista de Reservas por Data" print "3 - Voltar"; op = input("Digite sua opção: ") if op == 1: self.relReservas() if op == 2: self.relReservasPorData() def relReservas(self): print "" print "Lista Geral de Reservas" print "" for i in range(0, len(self.r.listarReservas(self.r))): print self.r.listarReservas(self.r)[i] def relReservasPorData(self): print "" print "Lista de Reservas por Periodo" print "" chegada = raw_input("Data da Chegada(ddMMaaaa): ") saida = raw_input("Data da Saída(ddMMaaaa): ") di = date(int(chegada[4:8]), int(chegada[2:4]), int(chegada[:2])) df = date(int(saida[4:8]), int(saida[2:4]), int(saida[:2])) print "" print "Lista de Reservas por Periodo" print "" for i in range(0, len(self.r.listarReservasPorPeriodo(self.r, di, df))): print self.r.listarReservasPorPeriodo(self.r, di, df)[i] def menuHospedagens(self): op=0 while op != 5: print "" print "" print "Menu de Hospedagens" print "" print "1 - CheckIn" print "2 - CheckOut" print "3 - Relatórios de Hospedagens" print "4 - Cancelamento de Hospedagens" print "5 - Voltar" op = input("Digite sua opção: ") if op == 1: self.checkIn() if op == 2: self.checkOut() if op == 3: self.menuRelHospedagens() if op == 4: self.menuCancelarHospedagens() def checkIn(self): print "" print "" print "CheckIn" print "Quartos Livres" print self.q.listarQuartosPorSituacao(self.q, 'Livre') print "" nq = input("Nº do Quarto: ") nc = input("Codigo do Cliente: ") saida = raw_input("Data da Saída(ddMMaaaa): ") df = date(int(saida[4:8]), int(saida[2:4]), int(saida[:2])) print "" print self.h.validarHospedagem(self.h, self.r, self.q, nq, self.c, nc, df) def checkOut(self): print "" print "" print "CheckOut" print "Hospedagens Em Aberto" print self.h.listarHospedagensPorSituacao(self.h, 'Em Aberto') print "" n = input("Nº da Hospedagem: ") vf = input("Valor Gasto no Frigobar: ") print "" print self.h.checkOut(self.h, n, self.q, vf) def menuCancelarHospedagens(self): print "" print "" print "Cancelamento de Hospedagem" print "" n = input("Nº da Hospedagem: ") print self.h.cancelarReserva(self.h, n) def menuRelHospedagens(self): op=0 while op != 3: print "" print "" print "Relatorios de Hospedagens" print ""; print "1 - Lista Geral de Hospedagens" print "2 - Lista de Reservas por Situacao" print "3 - Voltar"; op = input("Digite sua opção: ") if op == 1: self.relHospedagens() if op == 2: self.relHospedagensPorSituacao() def relHospedagens(self): print "" print "Lista Geral de Hospedagens" print "" for i in range(0, len(self.h.listarHospedagens(self.h))): print self.h.listarHospedagens(self.h)[i] def relHospedagensPorSituacao(self): sit = 0 print "" print "Lista de Hospedagens por Status" print "" while sit != 1 and sit != 2: print "Status:" print "1 - Em Aberto" print "2 - Encerrado" sit = input("Livre ou Ocupado? ") if sit == 1: situacao = 'Em Aberto' if sit == 2: situacao = 'Encerrada' print "" print "Lista de Hoespedagens "+situacao print "" for i in range(0, len(self.h.listarHospedagensPorSituacao(self.h, situacao))): print self.h.listarHospedagensPorSituacao(self.h, situacao)[i]