示例#1
0
class TestQuarto(unittest.TestCase):
    def setUp(self):
        self.app = Quarto(None)

    def test_tabuleiro(self):
        # garante que tem casas no tabuleiro
        self.app.build_tabuleiro(None)
        t = self.app.tabuleiro
        self.assertEqual(len(t.casas), 16)

    def test_mao(self):
        # garante que tem pecas na mao
        self.app.build_mao(None)
        m = self.app.mao1
        self.assertEqual(len(m.pecas), 8)
示例#2
0
class TestQuarto(unittest.TestCase):

    def setUp(self):
        self.app = Quarto(None)

    def test_tabuleiro(self):
        # garante que tem casas no tabuleiro
        self.app.build_tabuleiro(None)
        t = self.app.tabuleiro
        self.assertEqual(len(t.casas),16)
    def test_mao(self):
        # garante que tem pecas na mao
        self.app.build_mao(None)
        m = self.app.mao1
        self.assertEqual(len(m.pecas),8)
示例#3
0
文件: hotel.py 项目: fslima/P2LOO
	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()
示例#4
0
	def testaAinit(self):		
		self.q.num |should| equal_to(201)
		self.q.tipo |should| equal_to('Simples')
		self.q.vldiaria |should| equal_to(90.00)
		self.q.situacao |should| equal_to('Livre')
		self.q = Quarto(202, 'Casal')
		self.q.num |should| equal_to(202)
		self.q.tipo |should| equal_to('Casal')
		self.q.vldiaria |should| equal_to(150.00)
		self.q.situacao |should| equal_to('Livre')
示例#5
0
 def setUp(self):
     class Gui(object):
         pass
         def __getitem__(self, x):
             return self
        
         def setAttribute(self, *x):
             self.opacity = 0.5
    
     self.gui = Gui()
     self.gui.onclick = object()
     self.app = Quarto(self.gui)
示例#6
0
	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)
示例#7
0
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)
示例#8
0
 def setUp(self):
     self.app = Quarto(None)
示例#9
0
 def setUp(self):
     self.app = Quarto(None)
示例#10
0
class TestQuarto(unittest.TestCase):

    def setUp(self):
        class Gui(object):
            pass
            def __getitem__(self, x):
                return self
           
            def setAttribute(self, *x):
                self.opacity = 0.5
       
        self.gui = Gui()
        self.gui.onclick = object()
        self.app = Quarto(self.gui)

    def test_tabuleiro(self):
        "garante que tem casas no tabuleiro."
        self.app.build_tabuleiro(self.gui)
        t = self.app.tabuleiro
        self.assertEqual(len(t.casas),16)
    def test_mao(self):
        "garante que tem pecas na mao."
        self.app.build_mao(self.gui)
        m = self.app.mao1
        self.assertEqual(len(m.pecas),8)
    def test_outra_mao(self):
        "garante que tem casas na outra mao."
        self.app.build_mao(self.gui)
        m = self.app.mao2
        self.assertEqual(len(m.pecas),8)
    def test_escolhe_peca(self):
        "peca sai da mao e vai para a base."
        self.app.build_base(self.gui)
        m = self.app.mao2
        #: a peca inicia na mao
        p = m.pecas[0]
        self.assertEqual(p.local,m)
        #: a peca escolhida vai para a casa
        p.escolhida()
        self.assertEqual(p.local,self.app.casa)
        self.assertEqual(len(m.pecas),7)
    def test_nao_pode_escolher__outra_peca(self):
        "nao pode escolher outra peca, peca fica na mao."
        self.app.build_base(self.gui)
        #: a peca inicia na mao
        p = self.app.mao1.pecas[0]
        #: a peca escolhida vai para a casa
        p.escolhida()
        #: uma segunda peca nao pode ser escolhida
        q = self.app.mao1.pecas[1]
        q.escolhida()
        self.assertEqual(q.local,self.app.mao1)
    def test_escolhe_casa(self):
        "peca sai da base e vai para a casa."
        self.app.build_base(self.gui)
        m = self.app.mao2
        t = self.app.tabuleiro
        #: a peca inicia na mao
        p = m.pecas[0]
         #: a peca escolhida vai para a casa
        p.escolhida()
        c = t.casas[0]
        c.escolhida()
        self.assertEquals(p.local,c)
        self.assertEquals(self.app.casa.peca,None)
    def test_escolhe_peca_na_casa(self):
        "peca permanece na casa quando escolhida no tabuleiro."
        self.app.build_base(self.gui)
        m = self.app.mao2
        t = self.app.tabuleiro
        #: a peca inicia na mao
        p = m.pecas[0]
         #: a peca escolhida vai para a casa
        p.escolhida()
        c = t.casas[0]
        c.escolhida()
         #: a peca escolhida fica na casa
        p.escolhida()
        self.assertEquals(p.local,c)
        self.assertEquals(self.app.casa.peca,None)
    def test_escolhe_casa_sem_peca_selecionada(self):
        "nada acontece, nenhuma peca pode ser movida para a casa."
        self.app.build_base(self.gui)
        m = self.app.mao2
        t = self.app.tabuleiro
        c = t.casas[0]
        c.escolhida()
        self.assertEquals(c.peca,None)
    def test_verifica_combinacao_de_pecas(self):
        "retorna verdadeiro se as pecas combinam."
        self.app.build_base(self.gui)
        m = self.app.mao2
        p = m.pecas[0]
        self.assertTrue(p.combina(m.pecas))
        n = self.app.mao1
        p = n.pecas[0]
        nc = n.pecas[0:2]+m.pecas[6:8]
        self.assertFalse(p.combina(nc), 'nao combina %s %s'%(
            [i.name for i in nc], p.rodada))
        self.assertTrue(p.combina(n.pecas))
        self.assertTrue(p.combina([i for i in n.pecas if i.name%2]))
        self.assertTrue(p.combina([i for i in n.pecas if not i.name%2]))
    def test_verifica_combinacao_vencedora(self):
        "indica nas pecas e na casa base que houve uma combinacao vencedora."
        self.app.build_base(self.gui)
        pecas = self.app.mao2.pecas[0:5]
        casas = self.app.tabuleiro.casas[0:4]
        p = pecas[-1]
        self.assertEquals(self.app.casa.peca,None)
        #__ = [casa.recebe(peca) for casa, peca in zip(casas,pecas)]
        __ = [peca.escolhida() or casa.escolhida() for casa, peca in zip(casas,pecas)]
        print(self.app.casa)
        self.assertEquals(self.app.casa._estado_corrente,self.app.casa._casa_morta)
        p.escolhida()
        self.assertEquals(p.local,self.app.mao2)
        self.assertEquals(p._estado_peca,p._estado_pode_posicionar)
        self.assertEquals(self.gui.opacity,0.5)
        self.assertEquals(self.app.casa.peca,None)
示例#11
0
	def setUp(self):
		self.c = Cliente('Thiago Neves', '12369978909', '2299019866')
		self.q = Quarto(202, 'Master')
		self.r = Reserva(self.q, self.c, date(2011, 10, 15), date(2011, 10, 20))
示例#12
0
class TestaReserva(unittest.TestCase):
	
	def setUp(self):
		self.c = Cliente('Thiago Neves', '12369978909', '2299019866')
		self.q = Quarto(202, 'Master')
		self.r = Reserva(self.q, self.c, date(2011, 10, 15), date(2011, 10, 20))

	def testaAinit(self):		
		self.r.num |should| equal_to(1)
		self.r.cliente.nome |should| equal_to('Thiago Neves')
		self.r.quarto.num |should| equal_to(202)
		self.r.dtinicio |should| equal_to(date(2011, 10, 15))
		self.r.dtfim |should| equal_to(date(2011, 10, 20))
		self.r = Reserva(self.q, Cliente('Ronaldinho Gaucho', '98765478909', '2167549876'), date(2011, 10, 22), date(2011, 10, 29))
		self.r.num |should| equal_to(2)
		self.r.cliente.nome |should| equal_to('Ronaldinho Gaucho')
		self.r.quarto.num |should| equal_to(202)
		self.r.dtinicio |should| equal_to(date(2011, 10, 22))
		self.r.dtfim |should| equal_to(date(2011, 10, 29))

	def testaBcadReserva(self):
		self.c.cadCli('Anderson Silva', '12369978909', '2299019866')
		self.q.cadQuarto(203, 'Simples')
		self.r.cadReserva(self.q, 203, self.c, 4, date(2011, 10, 15), date(2011, 10, 20))
		self.r.lista[0].num |should| equal_to(4)
		self.r.lista[0].cliente.nome |should| equal_to('Anderson Silva')
		self.r.lista[0].quarto.num |should| equal_to(203)
		self.r.lista[0].dtinicio |should| equal_to(date(2011, 10, 15))	
		self.r.lista[0].dtfim |should| equal_to(date(2011, 10, 20))
		self.r.lista |should| have(1).itens
		self.c.cadCli('Lionel Messi', '12369978909', '2299019866')
		self.r.cadReserva(self.q, 203, self.c, 5, date(2011, 10, 22), date(2011, 10, 29))
		self.r.lista[1].num |should| equal_to(5)
		self.r.lista[1].cliente.nome |should| equal_to('Lionel Messi')
		self.r.lista[1].quarto.num |should| equal_to(203)
		self.r.lista[1].dtinicio |should| equal_to(date(2011, 10, 22))	
		self.r.lista[1].dtfim |should| equal_to(date(2011, 10, 29))
		self.r.lista |should| have(2).itens
		
	def testaCvalidarReserva(self):
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 12), date(2011, 11, 15)) |should| equal_to("Reserva Cadastrada")
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 12), date(2011, 11, 15)) |should| equal_to("Já existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[2]))
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 13), date(2011, 11, 14)) |should| equal_to("Já existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[2]))
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 11), date(2011, 11, 16)) |should| equal_to("Já existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[2]))
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 11), date(2011, 11, 13)) |should| equal_to("Já existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[2]))
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 14), date(2011, 11, 16)) |should| equal_to("Já existe a seguinte reserva para esse Quarto: \n\n"+str(self.r.lista[2]))
		self.r.validarReserva(self.r, self.q, 210, self.c, 4, date(2011, 11, 12), date(2011, 11, 15)) |should| equal_to("Quarto nao Cadastrado")
		self.r.validarReserva(self.r, self.q, 203, self.c, 20, date(2011, 11, 12), date(2011, 11, 15)) |should| equal_to("Cliente nao Cadastrado")
		self.r.validarReserva(self.r, self.q, 203, self.c, 4, date(2011, 11, 18), date(2011, 11, 15)) |should| equal_to("Data de Saida deve ser maior do que a Inicial")
		
	def testaDcancelarReserva(self):	
		self.r.cancelarReserva(self.r, 9) |should| equal_to("\n\nA Reserva informada não Existe")
		self.r.cancelarReserva(self.r, 4) |should| equal_to("\n\nReserva Cancelada com Sucesso")
		self.r.cancelarReserva(self.r, 4) |should| equal_to("\n\nA Reserva informada não Existe")

	def testaElistarReservas(self):
		self.r.listarReservas(self.r) |should| equal_to([self.r.lista[0], self.r.lista[1]])
		self.r.cancelarReserva(self.r, 7)
		self.r.listarReservas(self.r) |should| equal_to([self.r.lista[0]])

	def testaFlistarReservasPorPeriodo(self):
		self.r.listarReservasPorPeriodo(self.r, date(2011, 10, 20), date(2011, 10, 21)) |should| equal_to([])
		self.r.listarReservasPorPeriodo(self.r, date(2011, 10, 22), date(2011, 10, 29)) |should| equal_to([self.r.lista[0]])
		self.r.listarReservasPorPeriodo(self.r, date(2011, 10, 23), date(2011, 10, 28)) |should| equal_to([self.r.lista[0]])
		self.r.listarReservasPorPeriodo(self.r, date(2011, 10, 21), date(2011, 10, 30)) |should| equal_to([self.r.lista[0]])
		self.r.listarReservasPorPeriodo(self.r, date(2011, 10, 21), date(2011, 10, 28)) |should| equal_to([self.r.lista[0]])
		self.r.listarReservasPorPeriodo(self.r, date(2011, 10, 22), date(2011, 10, 30)) |should| equal_to([self.r.lista[0]])
示例#13
0
class TestaQuarto(unittest.TestCase):
	
	def setUp(self):
		self.q = Quarto(201, 'Simples')

	def testaAinit(self):		
		self.q.num |should| equal_to(201)
		self.q.tipo |should| equal_to('Simples')
		self.q.vldiaria |should| equal_to(90.00)
		self.q.situacao |should| equal_to('Livre')
		self.q = Quarto(202, 'Casal')
		self.q.num |should| equal_to(202)
		self.q.tipo |should| equal_to('Casal')
		self.q.vldiaria |should| equal_to(150.00)
		self.q.situacao |should| equal_to('Livre')

	def testaBcadQuarto(self):
		self.q.cadQuarto(203, 'Master')
		self.q.lista[0].num |should| equal_to(203)
		self.q.lista[0].tipo |should| equal_to('Master')
		self.q.lista[0].vldiaria |should| equal_to(260.00)	
		self.q.lista |should| have(1).itens
		self.q.cadQuarto(301, 'Simples')
		self.q.lista[1].num |should| equal_to(301)
		self.q.lista[1].tipo |should| equal_to('Simples')
		self.q.lista[1].vldiaria |should| equal_to(90.00)	
		self.q.lista |should| have(2).itens

	def testaCbuscarQuarto(self):
		self.q.buscarQuarto(self.q, 201) |should| equal_to(False)
		self.q.buscarQuarto(self.q, 203) |should| equal_to(self.q.lista[0])
		self.q.buscarQuarto(self.q, 301) |should| equal_to(self.q.lista[1])

	def testaDsetSituacao(self):
		self.q.setSituacao(self.q, 201, 'Livre') |should| equal_to("Quarto não Cadastrado")
		self.q.setSituacao(self.q, 203, 'Ocupado')
		self.q.lista[0].situacao |should| equal_to('Ocupado')

	def testaElistarQuartos(self):
		self.q.listarQuartos(self.q) |should| equal_to([self.q.lista[0], self.q.lista[1]])

	def testaFlistarQuartosPorTipo(self):
		self.q.listarQuartosPorTipo(self.q, 'Master') |should| equal_to([self.q.lista[0]])
		self.q.listarQuartosPorTipo(self.q, 'Simples') |should| equal_to([self.q.lista[1]])
		self.q.listarQuartosPorTipo(self.q, 'Casal') |should| equal_to([])

	def testaGlistarQuartosPorSituacao(self):
		self.q.listarQuartosPorSituacao(self.q, 'Livre') |should| equal_to([self.q.lista[1]])
		self.q.listarQuartosPorSituacao(self.q, 'Ocupado') |should| equal_to([self.q.lista[0]])
示例#14
0
	def setUp(self):
		self.q = Quarto(201, 'Simples')
示例#15
0
文件: hotel.py 项目: fslima/P2LOO
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]