From f6acc3b052a5194a946ba895f9843cdcef657a3d Mon Sep 17 00:00:00 2001
From: Nico <nico.igramos@gmail.com>
Date: Fri, 6 Dec 2024 21:14:05 -0300
Subject: [PATCH] Adiciona testes para os usuarios

---
 sources/ControladorUsuarios.cpp |  2 +-
 sources/Usuario.cpp             |  3 +--
 tdd/Makefile                    |  8 ++++++--
 tdd/biblioteca-test.cpp         | 31 +++++++++++++++++++++++++------
 4 files changed, 33 insertions(+), 11 deletions(-)

diff --git a/sources/ControladorUsuarios.cpp b/sources/ControladorUsuarios.cpp
index 15b2220..6c1bc44 100644
--- a/sources/ControladorUsuarios.cpp
+++ b/sources/ControladorUsuarios.cpp
@@ -90,7 +90,7 @@ int ControladorUsuarios::recuperarMultas(string CPF){
 
   if (it == usuarios.end()) {
     cerr << "> Erro: Usuario não encontrado" << endl;
-    return -1;
+    return 0;
   }
 
   return it->getMulta();
diff --git a/sources/Usuario.cpp b/sources/Usuario.cpp
index 5ee7565..96d91ac 100644
--- a/sources/Usuario.cpp
+++ b/sources/Usuario.cpp
@@ -10,8 +10,7 @@ using namespace std;
 // Construtor
 Usuario::Usuario(const string& nome, const string& cpf, const string& end,
     const string& tel, const string&email)
-  : nome(nome), CPF(cpf), endereco(end), telefone(tel), email(email) {
-    this->multas = 10;
+  : nome(nome), CPF(cpf), endereco(end), telefone(tel), email(email), multas(0) {
 }
 
 void Usuario::mostrarDetalhes() const {
diff --git a/tdd/Makefile b/tdd/Makefile
index 662b868..3e90b6d 100644
--- a/tdd/Makefile
+++ b/tdd/Makefile
@@ -2,12 +2,16 @@
 CXX = g++
 CXXFLAGS = -I../sources
 LDFLAGS = -lm
-SRCS = main.cpp obras-test.cpp \
+SRCS = main.cpp biblioteca-test.cpp \
        ../sources/ControladorObras.cpp \
+       ../sources/Usuario.cpp \
+       ../sources/Emprestimo.cpp \
+       ../sources/ControladorUsuarios.cpp \
        ../sources/Periodico.cpp \
        ../sources/Livro.cpp \
        ../sources/DescricaoObra.cpp \
-       ../sources/Obra.cpp
+       ../sources/Obra.cpp \
+       ../sources/Biblioteca.cpp
 OBJ = $(SRCS:.cpp=.o)
 TARGET = main
 
diff --git a/tdd/biblioteca-test.cpp b/tdd/biblioteca-test.cpp
index 01ce648..b63419a 100644
--- a/tdd/biblioteca-test.cpp
+++ b/tdd/biblioteca-test.cpp
@@ -2,20 +2,39 @@
 #include <tuple>
 #include "doctest.h"
 #include "../sources/ControladorObras.hpp"
+#include "../sources/ControladorUsuarios.hpp"
+#include "../sources/Biblioteca.hpp"
 #include "../sources/Livro.hpp"
 #include "../sources/Periodico.hpp"
 
 TEST_CASE("Biblioteca") {
+  cout << "=> Instanciando Biblioteca" << endl;
+  Biblioteca bib;
+
+  cout << "==> Instanciando o Controlador de Obras" << endl;
+  ControladorObras contObras = bib.getContObras();
+
+  cout << "==> Instanciando o Controlador de Usuarios" << endl;
+  ControladorUsuarios contUsuarios = bib.getContUsuarios();
+
   cout << "=================> Adicionar Usuario <================" << endl;
-  //usuario nao existe
-  //usuario ja existe
+  cout << "=> Criando Usuarios" << endl;
+  contUsuarios.adicionarUsuario("Muriki", "12345", "Casa", "9999", "murikigy@gmail.com");
+  contUsuarios.adicionarUsuario("Nico", "54321", "Apartamento", "8888", "nico@gmail.com");
+  contUsuarios.mostrarDetalhes();
+
+  CHECK(0 == contUsuarios.recuperarMultas("12345"));
+  CHECK(0 == contUsuarios.recuperarMultas("54321"));
+
+  cout << "=> Cria um usuarios que já existe" << endl;
+  contUsuarios.adicionarUsuario("Marcus", "12345", "Casa", "9988", "marcus@gmail.com");
+  CHECK(0 == contUsuarios.recuperarMultas("12345"));
+  contUsuarios.mostrarDetalhes();
+
   cout << "======================================================" << endl;
 
   cout << "==================> Adicionar Obras <==================" << endl;
-  cout << "> Instanciando o Controlador de Obras" << endl;
-  ControladorObras contObras;
-
-  cout << "==> Instanciando um Periodico: " << endl;
+  cout << "=> Instanciando um Periodico: " << endl;
   Periodico p("Revista de Ciência", 2023, 5, 3);
   p.mostrarDetalhes();
   cout << endl;
-- 
GitLab