Skip to content
Snippets Groups Projects
Commit 88b59d36 authored by Nico's avatar Nico
Browse files

Adiciona mais testes de emprestimo

parent b16423d1
No related branches found
No related tags found
No related merge requests found
File added
......@@ -109,10 +109,86 @@ TEST_CASE("Biblioteca") {
CHECK (unsigned(hoje.month()) == unsigned(dataDevolucao.month()));
CHECK (unsigned(hoje.day()) == unsigned(dataDevolucao.day()));
tie(total, disponiveis) = contObras.pesquisarObra(make_shared<Periodico>(p));
cout << "Disponiveis/Total: " << disponiveis << "/" << total << endl;
CHECK (1 == disponiveis);
CHECK (2 == total);
cout << "=> Retorna uma obra que existe: " << endl;
CHECK (0 == contUsuarios.retornarEmprestimo("12345", make_shared<Periodico>(p)));
//obra existe e ja tem tres emprestimos
tie(total, disponiveis) = contObras.pesquisarObra(make_shared<Periodico>(p));
cout << "Disponiveis/Total: " << disponiveis << "/" << total << endl;
CHECK (2 == disponiveis);
CHECK (2 == total);
cout << "=> Empresta novamente a obra: " << endl;
dataDevolucao = contUsuarios.registrarEmprestimo("12345", make_shared<Periodico>(p));
CHECK (int(hoje.year()) == int(dataDevolucao.year()));
CHECK (unsigned(hoje.month()) == unsigned(dataDevolucao.month()));
CHECK (unsigned(hoje.day()) == unsigned(dataDevolucao.day()));
cout << "=> Empresta a segunda obra: " << endl;
dataDevolucao = contUsuarios.registrarEmprestimo("12345", make_shared<Periodico>(p));
CHECK (int(hoje.year()) == int(dataDevolucao.year()));
CHECK (unsigned(hoje.month()) == unsigned(dataDevolucao.month()));
CHECK (unsigned(hoje.day()) == unsigned(dataDevolucao.day()));
cout << "=> Obra nao tem exemplares disponiveis: " << endl;
dataDevolucao = contUsuarios.registrarEmprestimo("54321", make_shared<Periodico>(p1));
CHECK (int(epoch.year()) == int(dataDevolucao.year()));
CHECK (unsigned(epoch.month()) == unsigned(dataDevolucao.month()));
CHECK (unsigned(epoch.day()) == unsigned(dataDevolucao.day()));
tie(total, disponiveis) = contObras.pesquisarObra(make_shared<Periodico>(p));
cout << "Disponiveis/Total: " << disponiveis << "/" << total << endl;
CHECK (0 == disponiveis);
CHECK (2 == total);
cout << "=> Empresta a terceira obra: " << endl;
dataDevolucao = contUsuarios.registrarEmprestimo("12345", make_shared<Livro>(l));
tie(total, disponiveis) = contObras.pesquisarObra(make_shared<Livro>(l));
cout << "Disponiveis/Total: " << disponiveis << "/" << total << endl;
CHECK (0 == disponiveis);
CHECK (1 == total);
cout << "=> Não pode emprestar a quarta obra: " << endl;
Livro l2("Java Programming", 2022, "John Doe", "Tech Books");
contObras.adicionarObra(make_shared<Livro>(l2));
dataDevolucao = contUsuarios.registrarEmprestimo("12345", make_shared<Livro>(l2));
CHECK (int(epoch.year()) == int(dataDevolucao.year()));
CHECK (unsigned(epoch.month()) == unsigned(dataDevolucao.month()));
CHECK (unsigned(epoch.day()) == unsigned(dataDevolucao.day()));
tie(total, disponiveis) = contObras.pesquisarObra(make_shared<Livro>(l2));
cout << "Disponiveis/Total: " << disponiveis << "/" << total << endl;
CHECK (1 == disponiveis);
CHECK (1 == total);
cout << "=> Retorna uma obra e pode realizar novo emprestimo: " << endl;
cout << "==> Retorna: " << endl;
CHECK (0 == contUsuarios.retornarEmprestimo("12345", make_shared<Periodico>(p)));
tie(total, disponiveis) = contObras.pesquisarObra(make_shared<Periodico>(p));
cout << "Disponiveis/Total: " << disponiveis << "/" << total << endl;
CHECK (1 == disponiveis);
CHECK (2 == total);
cout << "==> Empresta: " << endl;
Livro l3("Phyton Programming", 2022, "John Doe", "Tech Books");
contObras.adicionarObra(make_shared<Livro>(l3));
dataDevolucao = contUsuarios.registrarEmprestimo("12345", make_shared<Livro>(l3));
CHECK (int(hoje.year()) == int(dataDevolucao.year()));
CHECK (unsigned(hoje.month()) == unsigned(dataDevolucao.month()));
CHECK (unsigned(hoje.day()) == unsigned(dataDevolucao.day()));
tie(total, disponiveis) = contObras.pesquisarObra(make_shared<Livro>(l3));
cout << "Disponiveis/Total: " << disponiveis << "/" << total << endl;
CHECK (0 == disponiveis);
CHECK (1 == total);
//usuario devolveu com atraso, nao pode emprestar depois
cout << "======================================================" << endl;
......
......@@ -61,7 +61,7 @@ bool Usuario::devolver(shared_ptr<DescricaoObra> descricao){
emp_it->removeEmprestimo();
// Remove work
// this->emprestimos->erase(emp_it);
this->emprestimos->erase(emp_it);
return true;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment