diff --git a/sources/ControladorUsuarios.cpp b/sources/ControladorUsuarios.cpp
index 15b2220f938ac5654f95e8882c52f9e9b1031f82..6c1bc44ad7eebd71463b12511cfddd6c58fbeb1b 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 5ee7565faaffe01b38eac319551dcc02126d7363..96d91ac464aa07924fa0672e4d602e9571cd4fa7 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 662b86850f23ffa16428b7d1128447031c19da76..3e90b6d676262a5f3dda4221280d0339c84ea762 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 01ce64830e11a99756022dfd709d51ad274ff6f3..b63419a4182333964ea83e3fb72dc19a4d5c3f33 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;