diff --git a/exercicios/para-sala/Biblioteca.py b/Biblioteca.py similarity index 100% rename from exercicios/para-sala/Biblioteca.py rename to Biblioteca.py diff --git a/exercicios/para-sala/Livro.py b/Livro.py similarity index 100% rename from exercicios/para-sala/Livro.py rename to Livro.py diff --git a/exercicios/para-sala/__init__.py b/__init__ copy.py similarity index 100% rename from exercicios/para-sala/__init__.py rename to __init__ copy.py diff --git a/exercicios/Biblioteca.py b/exercicios/Biblioteca.py new file mode 100644 index 0000000..50f57bf --- /dev/null +++ b/exercicios/Biblioteca.py @@ -0,0 +1,15 @@ +from Livro import Livro + +class Biblioteca : + def __init__(self): + self.livros = [] + + def adicionar_livro(self, livro: Livro): + if (not isinstance(livro, Livro) ): + raise TypeError(f"Esperado Livro obtido valor {livro} do tipo {type(livro)}") + self.livros.append(livro) + + def exibir_livros(self): + return self.livros + + def emprestar_livro(self): \ No newline at end of file diff --git a/exercicios/Livro.py b/exercicios/Livro.py new file mode 100644 index 0000000..5317a35 --- /dev/null +++ b/exercicios/Livro.py @@ -0,0 +1,6 @@ +class Livro: + def __init__(self, nome, autor): + self.nome = nome + self.autor = autor + self.esta_emprestado = False + diff --git a/exercicios/__init__ copy.py b/exercicios/__init__ copy.py new file mode 100644 index 0000000..e69de29 diff --git a/exercicios/para-casa/Biblioteca.py b/exercicios/para-casa/Biblioteca.py new file mode 100644 index 0000000..0d61661 --- /dev/null +++ b/exercicios/para-casa/Biblioteca.py @@ -0,0 +1,10 @@ +from Livro import Livro + +class Biblioteca : + def __init__(self): + self.livros = [] + + def adicionar_livro(self, livro: Livro): + if (not isinstance(livro, Livro) ): + raise TypeError(f"Esperado Livro obtido valor {livro} do tipo {type(livro)}") + self.livros.append(livro) \ No newline at end of file diff --git a/exercicios/para-casa/Livro.py b/exercicios/para-casa/Livro.py new file mode 100644 index 0000000..511863d --- /dev/null +++ b/exercicios/para-casa/Livro.py @@ -0,0 +1,5 @@ +class Livro: + def __init__(self, nome, autor): + self.nome = nome + self.autor = autor + self.esta_emprestado = False \ No newline at end of file diff --git a/exercicios/para-casa/__init__.py b/exercicios/para-casa/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/exercicios/para-sala/testBiblioteca.py b/exercicios/para-casa/testBiblioteca.py similarity index 100% rename from exercicios/para-sala/testBiblioteca.py rename to exercicios/para-casa/testBiblioteca.py diff --git a/exercicios/para-sala/testLivro.py b/exercicios/para-casa/testLivro.py similarity index 100% rename from exercicios/para-sala/testLivro.py rename to exercicios/para-casa/testLivro.py diff --git a/exercicios/testBiblioteca.py b/exercicios/testBiblioteca.py new file mode 100644 index 0000000..3c77a84 --- /dev/null +++ b/exercicios/testBiblioteca.py @@ -0,0 +1,40 @@ +from unittest import TestCase +from Biblioteca import Biblioteca +from Livro import Livro + +class TestBiblioteca(TestCase): + def test_init_deve_passar(self): + # Arrange / Act + biblioteca = Biblioteca() + + # Assert + self.assertIsInstance(biblioteca.livros, list) + + def test_adicionar_livro_deve_passar(self): + # Arrange + biblioteca = Biblioteca() + nome_livro = "O mito da beleza" + autor_livro = "Naomi Wolf" + livro = Livro(nome_livro, autor_livro) + + # Act + biblioteca.adicionar_livro(livro) + + # Assert + self.assertEqual(1, len(biblioteca.livros)) + + def test_adicionar_livro_nao_deve_inserir_numero(self): + # Arrange + biblioteca = Biblioteca() + livro = 1988 + + # Act / Assert + with self.assertRaises(TypeError): + biblioteca.adicionar_livro(livro) + + def test_exibir_livros(self): + self.livros = [] + print(Livro) + + + diff --git a/exercicios/testLivro.py b/exercicios/testLivro.py new file mode 100644 index 0000000..12f781d --- /dev/null +++ b/exercicios/testLivro.py @@ -0,0 +1,16 @@ +from unittest import TestCase +from Livro import Livro + +class TestLivro(TestCase): + def test_init_deve_passar(self): + # Arrange + nome = "Calibã e a bruxa" + autor = "Silvia Federici" + + # Act + livro = Livro(nome, autor) + + # Assert + self.assertEqual(nome, livro.nome) + self.assertEqual(autor, livro.autor) + self.assertEqual(False, livro.esta_emprestado) \ No newline at end of file diff --git a/testBiblioteca.py b/testBiblioteca.py new file mode 100644 index 0000000..7703a3b --- /dev/null +++ b/testBiblioteca.py @@ -0,0 +1,33 @@ +from unittest import TestCase +from Biblioteca import Biblioteca +from Livro import Livro + +class TestBiblioteca(TestCase): + def test_init_deve_passar(self): + # Arrange / Act + biblioteca = Biblioteca() + + # Assert + self.assertIsInstance(biblioteca.livros, list) + + def test_adicionar_livro_deve_passar(self): + # Arrange + biblioteca = Biblioteca() + nome_livro = "O mito da beleza" + autor_livro = "Naomi Wolf" + livro = Livro(nome_livro, autor_livro) + + # Act + biblioteca.adicionar_livro(livro) + + # Assert + self.assertEqual(1, len(biblioteca.livros)) + + def test_adicionar_livro_nao_deve_inserir_numero(self): + # Arrange + biblioteca = Biblioteca() + livro = 1988 + + # Act / Assert + with self.assertRaises(TypeError): + biblioteca.adicionar_livro(livro) \ No newline at end of file diff --git a/testLivro.py b/testLivro.py new file mode 100644 index 0000000..12f781d --- /dev/null +++ b/testLivro.py @@ -0,0 +1,16 @@ +from unittest import TestCase +from Livro import Livro + +class TestLivro(TestCase): + def test_init_deve_passar(self): + # Arrange + nome = "Calibã e a bruxa" + autor = "Silvia Federici" + + # Act + livro = Livro(nome, autor) + + # Assert + self.assertEqual(nome, livro.nome) + self.assertEqual(autor, livro.autor) + self.assertEqual(False, livro.esta_emprestado) \ No newline at end of file