Conversation
mayaracsferreira
left a comment
There was a problem hiding this comment.
Louie, parabéns pela entrega!!
Vc explorou outras formas de fazer as coisas acontecerem! Deixei apenas alguns comentários, se tiver alguma duvida só perguntar, mas no geral mandou muito bem! Arrasou
| def exibir_livro(self): | ||
| return self.livros | ||
|
|
||
| def emprestar_livro(self, livro: Livro): |
There was a problem hiding this comment.
Esse método tem alguns ajustes a serem feitos na lógica:
- aqui estamos verificando contra o objeto livro que recebemos do parametro, mas será que não seria mais interessante comparar com o livro que temos armazenados dentro da nossa Biblioteca? (dica dentro da lista de livros por exemplo)
- como o livro sempre começa com emprestado = False, ele vai direto para a exceção
- o If e o elif estão fazendo a mesma comparação,
if livro.emprestado == Trueeelif livro.emprestadosão formas diferentes de fazer a mesma verificação, por isso o seu elif nunca vai ser alcançado
Um site que ajuda muito a entender a lógica é o https://pythontutor.com/
Nesse site vc consegue fazer teste de mesa e ir debugando o código
| nome_livro = "O Guia do Mochileiro das Galáxias" | ||
| nome_autor = "Douglas Adams" | ||
| livro = Livro(nome_livro, nome_autor) | ||
| livro.esta_emprestado = True |
There was a problem hiding this comment.
Aah agora entendi que está alterando o valor de emprestado aqui no teste.
Interessante, pode ser uma forma diferente de fazer, mas como a gente pode fazer a ligação o objeto livro criado aqui fora da biblioteca com o que está dentro da lista biblioteca.livros ?
| class TestLivro(TestCase): | ||
| def test_init_deve_passar(self): | ||
| #arrange | ||
| nome = "Coraline" |
| self.biblioteca.adicionar_livro(livro) | ||
|
|
||
| def test_exibir_livro(self): | ||
| self.biblioteca.livros = "Jogador nº 1" |
There was a problem hiding this comment.
Muito interessante isso que vc fez!
Isso expõe uma vulnerabilidade do nosso sistema de gerenciamento de bibliotecas, até o momento todo mundo usou o biblioteca.adicionar_livro(), sem questionar se seria possivel fazer de outra forma
ao fazer isso vc inclusive alterou o tipo da propriedade de lista para string! Uma QA nata! achando brechas!
No description provided.