diff --git a/.classpath b/.classpath index 9ba41a249..b3a434205 100644 --- a/.classpath +++ b/.classpath @@ -31,6 +31,19 @@ + + + + + + + + + + + + + diff --git a/.project b/.project index 700a32c79..975c30797 100644 --- a/.project +++ b/.project @@ -20,4 +20,15 @@ org.eclipse.jdt.core.javanature org.eclipse.m2e.core.maven2Nature + + + 1728064413646 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 000000000..f9fe34593 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/test/java=UTF-8 +encoding/=UTF-8 diff --git a/.vscode/launch.json b/.vscode/launch.json index ac11c09b2..6dca13545 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,5 +1,12 @@ { "configurations": [ + { + "type": "java", + "name": "Main", + "request": "launch", + "mainClass": "com.mycompany.app.Main", + "projectName": "my-app" + }, { "type": "java", "name": "Launch App", diff --git a/pom.xml b/pom.xml index 2f4f99120..d83084270 100644 --- a/pom.xml +++ b/pom.xml @@ -29,6 +29,16 @@ maven-surefire-plugin 3.0.0-M6 + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 11 + 11 + ${project.basedir}/bin + + diff --git a/src/main/java/com/mycompany/app/Main.java b/src/main/java/com/mycompany/app/Main.java new file mode 100644 index 000000000..ea2edfc1e --- /dev/null +++ b/src/main/java/com/mycompany/app/Main.java @@ -0,0 +1,32 @@ +package com.mycompany.app; + +import java.util.Date; + +import com.mycompany.app.Model.*; + +public class Main { + public static void main(String[] args){ + Autor autor = new Autor("Alysson","Brasileiro"); + autor.setNome("Alysson Faria"); + autor.setNacionalidade("Brasileiro"); + + + Livro livro = new Livro("Java for begginers", autor, "Tecnologia", false); + livro.validarDisponibilidade(); + + + Usuario usuario = new Usuario("Lucas Rafael", 25); + usuario.setNome("Lucas Rafael"); + usuario.setIdade(25); + + Emprestimo emprestimo = new Emprestimo(new Date(),new Date(),livro, usuario); + + System.out.println("Livro: " + livro.getTitulo()); + System.out.println("Autor: " + livro.getAutor().getNome()); + System.out.println("Gênero: " + livro.getGenero()); + System.out.println("Usuário: " + usuario.getNome()); + System.out.println("Idade: " + usuario.getIdade()); + System.out.println("Data de Retirada: " + emprestimo.getDataRetirada()); + System.out.println("Data de Devolução: " + emprestimo.getDataDevolucao()); + } +} \ No newline at end of file diff --git a/src/main/java/com/mycompany/app/App.java b/src/main/java/com/mycompany/app/Model/App.java similarity index 93% rename from src/main/java/com/mycompany/app/App.java rename to src/main/java/com/mycompany/app/Model/App.java index bc1164c88..86bb310fb 100644 --- a/src/main/java/com/mycompany/app/App.java +++ b/src/main/java/com/mycompany/app/Model/App.java @@ -3,7 +3,7 @@ * Licensed under the MIT License. See LICENSE in the project root for license information. *---------------------------------------------------------------------------------------*/ -package com.mycompany.app; +package com.mycompany.app.Model; public class App { public static void main(String[] args) { diff --git a/src/main/java/com/mycompany/app/Model/Autor.java b/src/main/java/com/mycompany/app/Model/Autor.java new file mode 100644 index 000000000..bd4722388 --- /dev/null +++ b/src/main/java/com/mycompany/app/Model/Autor.java @@ -0,0 +1,28 @@ +package com.mycompany.app.Model; + +public class Autor extends Pessoa { + private String nacionalidade; + private Livro[] obrasPublicadas; + + public Autor(String nome, String nacionalidade){ + super(nome); + this.nacionalidade = nacionalidade; + } + + public String getNacionalidade(){ + return nacionalidade; + } + + public void setNacionalidade(String nacionalidade){ + this.nacionalidade = nacionalidade; + } + + + public Livro[] getObrasPublicadas(){ + return obrasPublicadas; + } + + public void setObrasPublicadas(Livro[] livro){ + this.obrasPublicadas = livro; + } +} \ No newline at end of file diff --git a/src/main/java/com/mycompany/app/Model/Emprestimo.java b/src/main/java/com/mycompany/app/Model/Emprestimo.java new file mode 100644 index 000000000..59b62bc25 --- /dev/null +++ b/src/main/java/com/mycompany/app/Model/Emprestimo.java @@ -0,0 +1,49 @@ +package com.mycompany.app.Model; + +import java.util.Date; + +public class Emprestimo { + private Date dataRetirada; + private Date dataDevolucao; + private Livro livro; + private Usuario usuario; + + public Emprestimo ( Date dataRetirada, Date dataDevolucao, Livro livro, Usuario usuario){ + this.dataRetirada = dataRetirada; + this.dataDevolucao = dataDevolucao; + this.livro = livro; + this.usuario = usuario; + } + + public Date getDataRetirada(){ + return dataRetirada; + } + + public void setDataRetirada(Date dataRetirada){ + this.dataRetirada = dataRetirada; + } + + public Date getDataDevolucao(){ + return dataDevolucao; + } + + public void setDataDevolucao(Date dataDevolucao){ + this.dataDevolucao = dataDevolucao; + } + + public Livro getLivro(){ + return livro; + } + + public void setLivro(Livro livro){ + this.livro = livro; + } + + public Usuario getUsuario(){ + return usuario; + } + + public void setUsuario(Usuario usuario){ + this.usuario = usuario; + } +} \ No newline at end of file diff --git a/src/main/java/com/mycompany/app/Model/Livro.java b/src/main/java/com/mycompany/app/Model/Livro.java new file mode 100644 index 000000000..94b9f927d --- /dev/null +++ b/src/main/java/com/mycompany/app/Model/Livro.java @@ -0,0 +1,52 @@ +package com.mycompany.app.Model; + +public class Livro { + private String titulo; + private Autor autor; + private String genero; + private boolean disponivel; + + public Livro(String titulo, Autor autor, String genero, boolean disponivel){ + this.titulo = titulo; + this.autor = autor; + this.genero = genero; + this.disponivel = disponivel; + } + public String getTitulo(){ + return titulo; + } + + public void setTitulo(String titulo){ + this.titulo = titulo; + } + + public Autor getAutor(){ + return autor; + } + + public void setAutor(Autor autor){ + this.autor = autor; + } + + public String getGenero(){ + return genero; + } + + public void setGenero(String genero){ + this.genero = genero; + } + + public boolean isDisponivel(){ + return disponivel; + } + + public boolean validarDisponibilidade(){ + if (disponivel){ + System.out.println("O livro está disponível."); + return true; + } else { + System.out.println("O livro não está disponível."); + return false; + } + } +} \ No newline at end of file diff --git a/src/main/java/com/mycompany/app/Model/Pessoa.java b/src/main/java/com/mycompany/app/Model/Pessoa.java new file mode 100644 index 000000000..7fc4f5910 --- /dev/null +++ b/src/main/java/com/mycompany/app/Model/Pessoa.java @@ -0,0 +1,27 @@ +package com.mycompany.app.Model; + +public class Pessoa { + + public Pessoa (String nome){ + this.nome = nome; + } + + private String nome; + protected Livro[] listaLivros; + + public String getNome(){ + return nome; + } + + public void setNome(String nome){ + this.nome = nome; + } + + public Livro[] getLivros(){ + return listaLivros; + } + + public void setLivros(Livro[] listaLivros){ + this.listaLivros = listaLivros; + } +} \ No newline at end of file diff --git a/src/main/java/com/mycompany/app/Model/Usuario.java b/src/main/java/com/mycompany/app/Model/Usuario.java new file mode 100644 index 000000000..badcc81b4 --- /dev/null +++ b/src/main/java/com/mycompany/app/Model/Usuario.java @@ -0,0 +1,27 @@ +package com.mycompany.app.Model; + +public class Usuario extends Pessoa { + private int idade; + private Emprestimo[] historicoEmprestimos; + + public Usuario(String nome, int idade){ + super(nome); + this.idade = idade; + } + + public int getIdade(){ + return idade; + } + + public void setIdade(int idade){ + this.idade = idade; + } + + public Emprestimo[] getHistoricoEmprestimos(){ + return historicoEmprestimos; + } + + public void setHistoricoEmprestimos(Emprestimo[] emprestimo){ + this.historicoEmprestimos = emprestimo; + } +} \ No newline at end of file diff --git a/src/test/java/com/mycompany/app/AppTest.java b/src/test/java/com/mycompany/app/AppTest.java index 710415f09..29a83c29f 100644 --- a/src/test/java/com/mycompany/app/AppTest.java +++ b/src/test/java/com/mycompany/app/AppTest.java @@ -1,5 +1,7 @@ package com.mycompany.app; + + import org.junit.Test; import static org.junit.Assert.assertTrue; diff --git a/src/test/java/com/mycompany/app/AutorTest.java b/src/test/java/com/mycompany/app/AutorTest.java new file mode 100644 index 000000000..9fbfb215d --- /dev/null +++ b/src/test/java/com/mycompany/app/AutorTest.java @@ -0,0 +1,44 @@ +package com.mycompany.app; +import org.junit.Test; + +import com.mycompany.app.Model.*; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + +public class AutorTest { + @Test + public void testGetNacionalidade(){ + Autor autor = new Autor("Jess", "Brasileira"); + assertEquals("Brasileira", autor.getNacionalidade()); + } + + @Test + public void testSetNacionalidade(){ + Autor autor = new Autor("Jess", "Brasileira"); + autor.setNacionalidade("Argentina"); + assertEquals("Argentina", autor.getNacionalidade()); + } + + @Test + public void testGetObrasPublicadas(){ + Autor autor = new Autor("Jess", "Brasileira"); + Livro[] livros = new Livro[2]; + livros[0] = new Livro("Java avançado", autor, "Tecnologia", false); + livros[1] = new Livro("Java iniciante", autor, "Tecnologia", true); + autor.setObrasPublicadas(livros); + + assertArrayEquals(livros, autor.getObrasPublicadas()); + } + + @Test + public void testSetObrasPublicadas(){ + Autor autor = new Autor("Jess", "Brasileira"); + Livro[] livros = new Livro[2]; + livros[0] = new Livro("Java avançado", autor, "Tecnologia", false); + livros[1] = new Livro("Java iniciante", autor, "Tecnologia", true); + autor.setObrasPublicadas(livros); + + assertArrayEquals(livros, autor.getObrasPublicadas()); + } +} diff --git a/src/test/java/com/mycompany/app/EmprestimoTest.java b/src/test/java/com/mycompany/app/EmprestimoTest.java new file mode 100644 index 000000000..fd907571b --- /dev/null +++ b/src/test/java/com/mycompany/app/EmprestimoTest.java @@ -0,0 +1,97 @@ +package com.mycompany.app; +import org.junit.Test; +import java.util.Date; + +import static org.junit.Assert.assertEquals; + +import com.mycompany.app.Model.*; + +public class EmprestimoTest { + @Test + public void testGetDataRetirada(){ + Date dataRetirada = new Date(); + Date dataDevolucao = new Date(); + Livro livro = new Livro("Java Basics", new Autor("Alan Turing", "Inglês"), "Tecnologia", true); + Usuario usuario = new Usuario("Gabriel", 21); + Emprestimo emprestimo = new Emprestimo(dataRetirada, dataDevolucao, livro, usuario); + assertEquals(dataRetirada, emprestimo.getDataRetirada()); + } + + @Test + public void testSetDataRetirada(){ + Date dataRetirada = new Date(); + Date dataDevolucao = new Date(); + Livro livro = new Livro("Java Basics", new Autor("Alan Turing", "Inglês"), "Tecnologia", true); + Usuario usuario = new Usuario("Gabriel", 21); + Emprestimo emprestimo = new Emprestimo(dataRetirada, dataDevolucao, livro, usuario); + Date novaDataRetirada = new Date(); + emprestimo.setDataRetirada(novaDataRetirada); + assertEquals(novaDataRetirada, emprestimo.getDataRetirada()); + } + + @Test + public void testGetDataDevolucao(){ + Date dataRetirada = new Date(); + Date dataDevolucao = new Date(); + Livro livro = new Livro("Java Basics", new Autor("Alan Turing", "Inglês"), "Tecnologia", true); + Usuario usuario = new Usuario("Gabriel", 21); + Emprestimo emprestimo = new Emprestimo(dataRetirada, dataDevolucao, livro, usuario); + assertEquals(dataDevolucao, emprestimo.getDataDevolucao()); + } + + @Test + public void testSetDataDevolucao(){ + Date dataRetirada = new Date(); + Date dataDevolucao = new Date(); + Livro livro = new Livro("Java Basics", new Autor("Alan Turing", "Inglês"), "Tecnologia", true); + Usuario usuario = new Usuario("Gabriel", 21); + Emprestimo emprestimo = new Emprestimo(dataRetirada, dataDevolucao, livro, usuario); + Date novaDataDevolucao = new Date(); + emprestimo.setDataRetirada(novaDataDevolucao); + assertEquals(novaDataDevolucao, emprestimo.getDataDevolucao()); + } + + @Test + public void testGetLivro(){ + Date dataRetirada = new Date(); + Date dataDevolucao = new Date(); + Livro livro = new Livro("Java Basics", new Autor("Alan Turing", "Inglês"), "Tecnologia", true); + Usuario usuario = new Usuario("Gabriel", 21); + Emprestimo emprestimo = new Emprestimo(dataRetirada, dataDevolucao, livro, usuario); + assertEquals(livro, emprestimo.getLivro()); + } + + @Test + public void testSetLivro(){ + Date dataRetirada = new Date(); + Date dataDevolucao = new Date(); + Livro livro = new Livro("Java Basics", new Autor("Alan Turing", "Inglês"), "Tecnologia", true); + Livro novoLivro = new Livro("Java Advanced", new Autor("Alan Turing", "Inglês"), "Tecnologia", true); + Usuario usuario = new Usuario("Gabriel", 21); + Emprestimo emprestimo = new Emprestimo(dataRetirada, dataDevolucao, livro, usuario); + emprestimo.setLivro(novoLivro); + assertEquals(novoLivro, emprestimo.getLivro()); + } + + @Test + public void testGetUsuario(){ + Date dataRetirada = new Date(); + Date dataDevolucao = new Date(); + Livro livro = new Livro("Java Basics", new Autor("Alan Turing", "Inglês"), "Tecnologia", true); + Usuario usuario = new Usuario("Gabriel", 21); + Emprestimo emprestimo = new Emprestimo(dataRetirada, dataDevolucao, livro, usuario); + assertEquals(usuario, emprestimo.getUsuario()); + } + + @Test + public void testSetUsuario(){ + Date dataRetirada = new Date(); + Date dataDevolucao = new Date(); + Livro livro = new Livro("Java Basics", new Autor("Alan Turing", "Inglês"), "Tecnologia", true); + Usuario usuario = new Usuario("Gabriel", 21); + Usuario novoUsuario = new Usuario("Fabio", 25); + Emprestimo emprestimo = new Emprestimo(dataRetirada, dataDevolucao, livro, usuario); + emprestimo.setUsuario(novoUsuario); + assertEquals(novoUsuario, emprestimo.getUsuario()); + } +} diff --git a/src/test/java/com/mycompany/app/LivroTest.java b/src/test/java/com/mycompany/app/LivroTest.java new file mode 100644 index 000000000..9cc8fcec5 --- /dev/null +++ b/src/test/java/com/mycompany/app/LivroTest.java @@ -0,0 +1,68 @@ +package com.mycompany.app; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +import com.mycompany.app.Model.*; + +public class LivroTest { + @Test + public void testGetTitulo(){ + Autor autor = new Autor("Jess", "Brasileira"); + Livro livro = new Livro("Java para iniciantes", autor, "Tecnologia", true); + assertEquals("Java para iniciantes", livro.getTitulo()); + } + + @Test + public void testSetTitulo(){ + Autor autor = new Autor("Jess", "Brasileira"); + Livro livro = new Livro("Java para iniciantes", autor, "Tecnologia", true); + livro.setTitulo("Java Intermediário"); + assertEquals("Java Intermediário", livro.getTitulo()); + } + + @Test + public void testGetAutor(){ + Autor autor = new Autor("Jess", "Brasileira"); + Livro livro = new Livro("Java para iniciantes", autor, "Tecnologia", true); + assertEquals(autor, livro.getAutor()); + } + + @Test + public void testSetAutor(){ + Autor autor1 = new Autor("Jess", "Brasileira"); + Autor autor2 = new Autor("Alysson", "Brasileiro"); + Livro livro = new Livro("Java para iniciantes", autor1, "Tecnologia", true); + livro.setAutor(autor2); + assertEquals(autor2, livro.getAutor()); + } + + @Test + public void testGetGenero(){ + Autor autor = new Autor("Jess", "Brasileira"); + Livro livro = new Livro("Java para iniciantes", autor, "Tecnologia", true); + assertEquals("Tecnologia", livro.getGenero()); + } + + @Test + public void testSetGenero(){ + Autor autor = new Autor("Jess", "Brasileira"); + Livro livro = new Livro("Java para iniciantes", autor, "Tecnologia", true); + livro.setGenero("Romance"); + assertEquals("Romance", livro.getGenero()); + } + + @Test + public void testIsDisponivel(){ + Autor autor = new Autor("Jess", "Brasileira"); + Livro livro = new Livro("Java para iniciantes", autor, "Tecnologia", true); + assertEquals(true, livro.isDisponivel()); + } + + @Test + public void testValidarDisponibilidade(){ + Autor autor = new Autor("Jess", "Brasileira"); + Livro livro = new Livro("Java para iniciantes", autor, "Tecnologia", true); + assertEquals(true, livro.validarDisponibilidade()); + } +} diff --git a/src/test/java/com/mycompany/app/PessoaTest.java b/src/test/java/com/mycompany/app/PessoaTest.java new file mode 100644 index 000000000..af222d4cb --- /dev/null +++ b/src/test/java/com/mycompany/app/PessoaTest.java @@ -0,0 +1,47 @@ +package com.mycompany.app; + +import org.junit.Test; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + +import com.mycompany.app.Model.*; + +public class PessoaTest { + @Test + public void testGetNome(){ + Pessoa pessoa = new Pessoa("Alysson"); + assertEquals("Alysson", pessoa.getNome()); + }; + @Test + public void testSetNome(){ + Pessoa pessoa = new Pessoa("Alysson"); + pessoa.setNome("Maria"); + assertEquals("Maria", pessoa.getNome()); + } + @Test + public void testGetLivros(){ + Pessoa pessoa = new Pessoa("Alysson"); + + Livro[] livros = new Livro[2]; + Autor autor = new Autor("Alysson", "Brasileiro"); + livros[0] = new Livro("Meu pé de laranja lima", autor, "Romance", true); + livros[0] = new Livro("Dom Casmurro", autor, "Romance", true); + + pessoa.setLivros(livros); + assertArrayEquals(livros, pessoa.getLivros()); + } + + @Test + public void testSetLivros(){ + Pessoa pessoa = new Pessoa("Alysson"); + + Livro[] livros = new Livro[2]; + Autor autor = new Autor("Alysson", "Brasileiro"); + livros[0] = new Livro("Meu pé de laranja lima", autor, "Romance", true); + livros[0] = new Livro("Dom Casmurro", autor, "Romance", true); + + pessoa.setLivros(livros); + assertArrayEquals(livros, pessoa.getLivros()); + } +} diff --git a/src/test/java/com/mycompany/app/UsuarioTest.java b/src/test/java/com/mycompany/app/UsuarioTest.java new file mode 100644 index 000000000..3bb16bddd --- /dev/null +++ b/src/test/java/com/mycompany/app/UsuarioTest.java @@ -0,0 +1,46 @@ +package com.mycompany.app; +import org.junit.Test; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + +import com.mycompany.app.Model.*; +import java.util.Date; + +public class UsuarioTest { + @Test + public void testGetIdade(){ + Usuario usuario = new Usuario("Alysson", 25); + assertEquals(25, usuario.getIdade()); + }; + + @Test + public void testSetIdade(){ + Usuario usuario = new Usuario("Alysson", 25); + usuario.setIdade(30); + assertEquals(30, usuario.getIdade()); + }; + + @Test + public void testGetHistoricoEmprestimos(){ + Livro livro = new Livro("Java Basics", new Autor("Alan Turing", "Inglês"), "Tecnologia", true); + Usuario usuario = new Usuario("Gabriel", 21); + Emprestimo[] historicoEmprestimos = new Emprestimo[1]; + historicoEmprestimos[0] = new Emprestimo(new Date(), new Date(), livro, usuario); + usuario.setHistoricoEmprestimos(historicoEmprestimos); + + assertArrayEquals(historicoEmprestimos, usuario.getHistoricoEmprestimos()); + } + + @Test + public void testSetHistoricoEmprestimos(){ + Livro livro = new Livro("Java Basics", new Autor("Alan Turing", "Inglês"), "Tecnologia", true); + Usuario usuario = new Usuario("Gabriel", 21); + Emprestimo[] historicoEmprestimos = new Emprestimo[1]; + historicoEmprestimos[0] = new Emprestimo(new Date(), new Date(), livro, usuario); + usuario.setHistoricoEmprestimos(historicoEmprestimos); + + assertArrayEquals(historicoEmprestimos, usuario.getHistoricoEmprestimos()); + } + +}