diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..874b14a --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..802cd60 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..4258c62 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..299a68d --- /dev/null +++ b/pom.xml @@ -0,0 +1,32 @@ + + + 4.0.0 + + org.example + TesteProjeto + 1.0-SNAPSHOT + + + org.junit.jupiter + junit-jupiter + RELEASE + test + + + + org.mockito + mockito-core + 4.8.0 + + + + + + 18 + 18 + UTF-8 + + + \ No newline at end of file diff --git a/src/main/java/menuclasses/AdicionaCandidato.java b/src/main/java/menuclasses/AdicionaCandidato.java new file mode 100644 index 0000000..16b0840 --- /dev/null +++ b/src/main/java/menuclasses/AdicionaCandidato.java @@ -0,0 +1,76 @@ +package menuclasses; + +import org.run.Main; +import utilities.*; + +import java.io.File; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Scanner; + +public class AdicionaCandidato { + ContadorDeFormularios contador = new ContadorDeFormularios(); + PadronizadorDeTexto padronizador = new PadronizadorDeTexto(); + MapeadorDePerguntas mapeador = new MapeadorDePerguntas(); + String retornoEmString = contador.contadorDeArquivos(); + String caminhoFormulario = "C:\\Go\\src\\github.com\\java-testes-2022\\src\\main\\java\\org\\run\\formulario.txt"; + String caminhoModels = "C:\\Go\\src\\github.com\\java-testes-2022\\src\\main\\java\\models\\"; + + + + public void candidatar() throws IOException { + + Map mapaDePerguntas = new HashMap<>(); + Map mapaDeRespostas = new HashMap<>(); + + Scanner scannerLeitorDePerguntas = new Scanner(new File(caminhoFormulario)); + Scanner scannerCapturaResposta = new Scanner(System.in); + + while (scannerLeitorDePerguntas.hasNextLine()){ + String linhaPergunta = scannerLeitorDePerguntas.nextLine(); + if (!linhaPergunta.isEmpty()){ + Integer numeroDaPergunta = mapeador.obterNumeroDaPergunta(linhaPergunta); + String pergunta = mapeador.obterTextoPergunta(linhaPergunta); + mapaDePerguntas.put(numeroDaPergunta, pergunta); + } + } + + //For each e criação do MAPA para ler cada linha do TXT de perguntas e respostas. + mapaDePerguntas.forEach((k,v)-> { + System.out.println(v); + String resposta = scannerCapturaResposta.nextLine(); + if (k.equals(3) && Integer.parseInt(resposta) < 16) { + String respostaIdade; + do { + System.out.println("Idade Incorreta Preencha Novamente"); + respostaIdade = scannerCapturaResposta.nextLine(); + } while (Integer.parseInt(respostaIdade) < 16); + resposta = respostaIdade; + } + mapaDeRespostas.put(k, resposta); + }); + // Cria o nome padrão pro arquivo e gera o txt. + String nomeDoArquivo = retornoEmString + " - " + padronizador.padronizadorDeTexto(mapaDeRespostas.get(1)) + ".txt"; + PrintWriter gravadorDeTXT = new PrintWriter(caminhoModels + nomeDoArquivo, "UTF-8"); + + //Adiciona o conteúdo ao txt do candidato. + List respostasCandidato = mapaDeRespostas.values().stream().toList(); + StringBuilder formatadorDaListaAparaGravar = new StringBuilder(); + respostasCandidato.forEach(x -> { + formatadorDaListaAparaGravar.append(x+"\n"); + }); + gravadorDeTXT.print(formatadorDaListaAparaGravar); + + //Fecha os scanners e chama o menu principal + + gravadorDeTXT.close(); + scannerCapturaResposta.close(); + scannerLeitorDePerguntas.close(); + Main.chamarMenuPrincipal(); + + } + +} diff --git a/src/main/java/menuclasses/AdicionaPergunta.java b/src/main/java/menuclasses/AdicionaPergunta.java new file mode 100644 index 0000000..5a32f98 --- /dev/null +++ b/src/main/java/menuclasses/AdicionaPergunta.java @@ -0,0 +1,59 @@ +package menuclasses; + +import org.run.Main; +import utilities.MapeadorDePerguntas; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.Scanner; +import utilities.*; + +public class AdicionaPergunta { + RemoveEspacos removedor = new RemoveEspacos(); + MapeadorDePerguntas mapeador = new MapeadorDePerguntas(); + String caminhoFormulario = "C:\\Go\\src\\github.com\\java-testes-2022\\src\\main\\java\\org\\run\\formulario.txt"; + public void adicionar() throws IOException { + + Map mapaDePerguntasAtuais = new HashMap<>(); + + // Sobrescreverá o texto + BufferedWriter sobrescritorDeTexto = new BufferedWriter(new FileWriter(caminhoFormulario, true)); + // Vai ler as perguntas + Scanner leitorPerguntasAtuais = new Scanner(new File(caminhoFormulario)); + // Vai pedir a nova pergunta + Scanner novaPergunta = new Scanner(System.in); + + + //Passar pelo arquivo e gravar todas perguntas para conferir se tem igual + while (leitorPerguntasAtuais.hasNextLine()){ + String linhaPergunta = leitorPerguntasAtuais.nextLine(); + Integer numeroDaPergunta = mapeador.obterNumeroDaPergunta(linhaPergunta); + String pergunta = mapeador.obterTextoPergunta(linhaPergunta); + mapaDePerguntasAtuais.put(numeroDaPergunta, pergunta); + } + + System.out.println("Digite a nova pergunta:"); + String novaPerguntaEscrita = novaPergunta.nextLine(); + + if (mapaDePerguntasAtuais.containsValue(novaPerguntaEscrita)) { + System.out.println("Não é possível adicionar a mesma pergunta."); + return ; + } else { + int idDaPerguntaNova = mapaDePerguntasAtuais.size() + 1; + sobrescritorDeTexto.append("\n"+"P" + idDaPerguntaNova + "|" + novaPerguntaEscrita); + System.out.println("Pergunta Adicionada com sucesso"); + } + + sobrescritorDeTexto.close(); + leitorPerguntasAtuais.close(); + novaPergunta.close(); + + removedor.removerLinhasEmBranco(); + Main.chamarMenuPrincipal(); + } +} + diff --git a/src/main/java/menuclasses/ListaDeCandidatos.java b/src/main/java/menuclasses/ListaDeCandidatos.java new file mode 100644 index 0000000..3f6508a --- /dev/null +++ b/src/main/java/menuclasses/ListaDeCandidatos.java @@ -0,0 +1,59 @@ +package menuclasses; + +import org.run.Main; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.*; + +public class ListaDeCandidatos { + String caminhoModels = "C:\\Go\\src\\github.com\\java-testes-2022\\src\\main\\java\\models\\"; + + public void listarCandidatos() throws IOException { + + File diretorioDeTodosFormularios = new File(caminhoModels); + List> listaComTodosFormularios = new ArrayList<>(); + File [] superLista = diretorioDeTodosFormularios.listFiles(); + + for (File arquivo : superLista) { + BufferedReader br = new BufferedReader(new FileReader(diretorioDeTodosFormularios +"/"+ arquivo.getName())); + List lista = new ArrayList<>(); + String linha = ""; + while (linha != null) { + linha = br.readLine(); + if (linha != null && !linha.equals("")) { + lista.add(linha); + } + } + listaComTodosFormularios.add(lista); + br.close(); + } + + Scanner opcao = new Scanner(System.in); + + System.out.println("Digite 1 para listar candidatos agrupados por idade ou 2 para listar cada candidato e sua idade"); + int escolha = opcao.nextInt(); + + switch (escolha){ + case 1: + System.out.println("Candidatos agrupados por idade"); + listaComTodosFormularios.sort(Comparator.comparing(idade2 -> idade2.get(2))); + System.out.println("Idade | Nomes"); + listaComTodosFormularios.forEach(nome -> System.out.println(nome.get(2) + " | " + nome.get(0))); + break; + + case 2: + listaComTodosFormularios.sort(Comparator.comparing(idade2 -> idade2.get(2))); + System.out.println("Nome | Idade"); + listaComTodosFormularios.forEach(nome -> System.out.println(nome.get(0) + " | " + nome.get(2))); + break; + } + opcao.close(); + Main.chamarMenuPrincipal(); + } + } + + + diff --git a/src/main/java/menuclasses/PesquisaCandidato.java b/src/main/java/menuclasses/PesquisaCandidato.java new file mode 100644 index 0000000..2653faf --- /dev/null +++ b/src/main/java/menuclasses/PesquisaCandidato.java @@ -0,0 +1,58 @@ +package menuclasses; + +import org.run.Main; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; +import java.util.TreeMap; + +public class PesquisaCandidato { + String caminhoModels = "C:\\Go\\src\\github.com\\java-testes-2022\\src\\main\\java\\models\\"; + + TreeMap listaComNomeeEmail = new TreeMap<>(); + public void pesquisar() throws IOException { + + File diretorioDeTodosFormularios = new File(caminhoModels); + + File [] superLista = diretorioDeTodosFormularios.listFiles(); + + for (File arquivo : superLista) { + BufferedReader br = new BufferedReader(new FileReader(diretorioDeTodosFormularios +"/"+ arquivo.getName())); + String linha = ""; + List lista = new ArrayList<>(); + + while (linha != null) { + linha = br.readLine(); + if (linha != null && !linha.equals("")) { + lista.add(linha.toLowerCase()); + } + } + listaComNomeeEmail.put(lista.get(0),lista.get(1)); + + br.close(); + } + + Scanner textoPesquisa = new Scanner(System.in); + + listaComNomeeEmail.forEach((k, v) -> System.out.println("Key : " + k + ", Value : " + v)); + + System.out.println("Digite aqui o Nome do candidato (com letras minúsculas) que deseja procurar:"); + String pesquisadorDeNomeFormularios = textoPesquisa.nextLine(); + + System.out.println("Digite aqui o Email do candidato que deseja procurar:"); + String pesquisadorDeEmailFormularios = textoPesquisa.nextLine(); + + listaComNomeeEmail.forEach((k, v) -> { + if (k.equals(pesquisadorDeNomeFormularios) && v.equals(pesquisadorDeEmailFormularios)) { + System.out.println("Key : " + k + ", Value : " + v);} + }); + + textoPesquisa.close(); + Main.chamarMenuPrincipal(); + } +} diff --git a/src/main/java/menuclasses/RemovePergunta.java b/src/main/java/menuclasses/RemovePergunta.java new file mode 100644 index 0000000..d2ce434 --- /dev/null +++ b/src/main/java/menuclasses/RemovePergunta.java @@ -0,0 +1,68 @@ +package menuclasses; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.StandardOpenOption; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Scanner; +import java.util.stream.Collectors; + +import org.run.Main; +import utilities.*; + +public class RemovePergunta { + + String caminhoFormulario = "C:\\Go\\src\\github.com\\java-testes-2022\\src\\main\\java\\org\\run\\formulario.txt"; + MapeadorDePerguntas mapeador = new MapeadorDePerguntas(); + RemoveEspacos removedorEspacos = new RemoveEspacos(); + + public void remover() throws IOException { + Map mapaDePerguntas = new HashMap<>(); + + Scanner apagadorDePerguntas = new Scanner(new File(caminhoFormulario)); + Scanner capturaNumeroDaPerguntaParaRemover = new Scanner(System.in); + Scanner scannerLeitorDePerguntas = new Scanner(new File(caminhoFormulario)); + File file = new File(caminhoFormulario); + + while (scannerLeitorDePerguntas.hasNextLine()){ + String linhaPergunta = scannerLeitorDePerguntas.nextLine(); + if (!linhaPergunta.isEmpty()){ + Integer numeroDaPergunta = mapeador.obterNumeroDaPergunta(linhaPergunta); + String pergunta = mapeador.obterTextoPergunta(linhaPergunta); + mapaDePerguntas.put(numeroDaPergunta, pergunta); + } + } + + for (Integer key: mapaDePerguntas.keySet()) { + System.out.println(key + mapaDePerguntas.get(key)); + } + + System.out.println("Escolha uma pergunta para remover, exceto de 1 a 4:"); + System.out.println(mapaDePerguntas.keySet()); + + int idDaRemocao = capturaNumeroDaPerguntaParaRemover.nextInt(); + + if (idDaRemocao < 4) { + System.out.println("Não é possível remover perguntas padrões"); + Main.chamarMenuPrincipal(); + } else { + String perguntaRemovida = mapaDePerguntas.get(idDaRemocao); + System.out.println("A pergunta - " + mapaDePerguntas.get(idDaRemocao) + " foi removida."); + + List out = Files.lines(file.toPath()) + .filter(line -> !line.contains(perguntaRemovida)) + .collect(Collectors.toList()); + Files.write(file.toPath(), out, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING); + } + + scannerLeitorDePerguntas.close(); + capturaNumeroDaPerguntaParaRemover.close(); + apagadorDePerguntas.close(); + + removedorEspacos.removerLinhasEmBranco(); + Main.chamarMenuPrincipal(); + } +} diff --git a/src/main/java/menuclasses/ValidaCandidato.java b/src/main/java/menuclasses/ValidaCandidato.java new file mode 100644 index 0000000..af22109 --- /dev/null +++ b/src/main/java/menuclasses/ValidaCandidato.java @@ -0,0 +1,44 @@ +package menuclasses; + +import org.run.Main; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public class ValidaCandidato { + static List listaComTodosNomesEEmails = new ArrayList<>(); + String caminhoModels = "C:\\Go\\src\\github.com\\java-testes-2022\\src\\main\\java\\models\\"; + + public void validar() throws IOException { + File diretorioDeTodosFormularios = new File(caminhoModels); + + File [] superLista = diretorioDeTodosFormularios.listFiles(); + for (File arquivo : superLista) { + BufferedReader br = new BufferedReader(new FileReader(diretorioDeTodosFormularios +"/"+ arquivo.getName())); + String linha = ""; + List lista = new ArrayList<>(); + while (linha != null) { + linha = br.readLine(); + if (linha != null && !linha.equals("")) { + lista.add(linha); + } + } + listaComTodosNomesEEmails.add(lista.get(0) + " | " + lista.get(1)); + br.close(); + } + exibeFormulariosDuplicados(); + Main.chamarMenuPrincipal(); + } + private void exibeFormulariosDuplicados() { + for (int i = 0; i < listaComTodosNomesEEmails.size(); i++) + for (int j = i + 1; j < listaComTodosNomesEEmails.size(); j++) { + if (listaComTodosNomesEEmails.get(i).equals(listaComTodosNomesEEmails.get(j))) { + System.out.println("O formulário:\n " + i + " - " + listaComTodosNomesEEmails.get(i) + "\n" + + "É duplicado com o formulário \n " + j + " - " + listaComTodosNomesEEmails.get(j)); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/models/1 - LUCASC.txt b/src/main/java/models/1 - LUCASC.txt new file mode 100644 index 0000000..5df885d --- /dev/null +++ b/src/main/java/models/1 - LUCASC.txt @@ -0,0 +1,6 @@ +Lucas C +asdokdoaks@gmail.com +65 +56565656523 +123156454 +56656565656 diff --git a/src/main/java/models/2 - LUCASasdokaso.txt b/src/main/java/models/2 - LUCASasdokaso.txt new file mode 100644 index 0000000..868b087 --- /dev/null +++ b/src/main/java/models/2 - LUCASasdokaso.txt @@ -0,0 +1,6 @@ +Lucas Almeida +lucasdcse@gmail.com +29 +56565656523 +123156454 +56656565656 diff --git a/src/main/java/models/3 - KARENA.txt b/src/main/java/models/3 - KARENA.txt new file mode 100644 index 0000000..c866d53 --- /dev/null +++ b/src/main/java/models/3 - KARENA.txt @@ -0,0 +1,5 @@ +KAREN aLMIRa +blockolsao@gmail.com +25 +65656565 +1223121454 diff --git a/src/main/java/models/4 - KARENA.txt b/src/main/java/models/4 - KARENA.txt new file mode 100644 index 0000000..c866d53 --- /dev/null +++ b/src/main/java/models/4 - KARENA.txt @@ -0,0 +1,5 @@ +KAREN aLMIRa +blockolsao@gmail.com +25 +65656565 +1223121454 diff --git a/src/main/java/models/5 - LUCASCARRILHOA.txt b/src/main/java/models/5 - LUCASCARRILHOA.txt new file mode 100644 index 0000000..d12e4c0 --- /dev/null +++ b/src/main/java/models/5 - LUCASCARRILHOA.txt @@ -0,0 +1,6 @@ +Lucas Carrilho A +soaksoakso@gmail.com +656 +232656565 +dasdas +eqwerqweq] diff --git a/src/main/java/models/7 - WANDERC.txt b/src/main/java/models/7 - WANDERC.txt new file mode 100644 index 0000000..7728de0 --- /dev/null +++ b/src/main/java/models/7 - WANDERC.txt @@ -0,0 +1,5 @@ +Wander C +eoewkeowkeowko@gmail.com +25 +45955965 +65656 diff --git a/src/main/java/models/8 - WANDERCARRILHODESOUZA.txt b/src/main/java/models/8 - WANDERCARRILHODESOUZA.txt new file mode 100644 index 0000000..807d787 --- /dev/null +++ b/src/main/java/models/8 - WANDERCARRILHODESOUZA.txt @@ -0,0 +1,5 @@ +Wander Carrilho De Souza +wcs@gmail.com +55 +65656565456545 +wander tt diff --git a/src/main/java/org/run/Main.java b/src/main/java/org/run/Main.java new file mode 100644 index 0000000..e784647 --- /dev/null +++ b/src/main/java/org/run/Main.java @@ -0,0 +1,58 @@ +package org.run; + +import menuclasses.*; + +import java.io.IOException; +import java.util.Scanner; + +public class Main { + public static void main(String[] args) throws IOException { + chamarMenuPrincipal(); + } + + public static void chamarMenuPrincipal() throws IOException { + + Scanner selecionadorDeOpcao = new Scanner(System.in); + + System.out.println( + "\nBem vindo Admin, o que você deseja?\n" + + " 1 - Candidatar-se\n" + + " 2 - Adicionar pergunta ao formulário\n" + + " 3 - Remover pergunta do formulário\n" + + " 4 - Listar formulários cadastrados\n" + + " 5 - Pesquisar formulários cadastrados\n" + + " 6 - Validar formulários\n" + + " 7 - Sair" + "\n" + + "Escolha um número: "); + + int selecionador = selecionadorDeOpcao.nextInt(); + + try { + switch (selecionador){ + + case 1: new AdicionaCandidato().candidatar(); + break; + case 2: new AdicionaPergunta().adicionar(); + break; + case 3: new RemovePergunta().remover(); + break; + case 4: new ListaDeCandidatos().listarCandidatos(); + break; + case 5: new PesquisaCandidato().pesquisar(); + break; + case 6: new ValidaCandidato().validar(); + break; + case 7: + System.out.println("Saindo do programa..."); + System.exit(0); + break; + default : System.out.println("Escolha um número válido"); + chamarMenuPrincipal(); + break; + } + }catch (IOException e){ + e.printStackTrace(); + System.out.println("Erro ao chamar o menu principal"); + } + } +} diff --git a/src/main/java/org/run/formulario.txt b/src/main/java/org/run/formulario.txt new file mode 100644 index 0000000..b1b140d --- /dev/null +++ b/src/main/java/org/run/formulario.txt @@ -0,0 +1,4 @@ +P1|Qual o seu nome completo? +P2|Qual seu e-mail? +P3|Qual sua idade? +P4|Qual sua WhatsApp? diff --git a/src/main/java/utilities/ContadorDeFormularios.java b/src/main/java/utilities/ContadorDeFormularios.java new file mode 100644 index 0000000..33a6974 --- /dev/null +++ b/src/main/java/utilities/ContadorDeFormularios.java @@ -0,0 +1,17 @@ +package utilities; + +import java.io.File; + +public class ContadorDeFormularios { + String caminhoFormulario = "C:\\Go\\src\\github.com\\java-testes-2022\\src\\main\\java\\models"; + + public String contadorDeArquivos() { + File arquivo = new File(caminhoFormulario); + + // Carrega todos os arquivos em um vetor + File[] arquivos = arquivo.listFiles(); + + // Conta quantos arquivos tem no vetor + return Integer.toString(arquivos.length +1); + } +} \ No newline at end of file diff --git a/src/main/java/utilities/MapeadorDePerguntas.java b/src/main/java/utilities/MapeadorDePerguntas.java new file mode 100644 index 0000000..e27ffab --- /dev/null +++ b/src/main/java/utilities/MapeadorDePerguntas.java @@ -0,0 +1,17 @@ +package utilities; + +public class MapeadorDePerguntas { + + public Integer obterNumeroDaPergunta(String pergunta) { + pergunta = pergunta.substring(pergunta.indexOf("P") + 1); + pergunta = pergunta.substring(0, pergunta.indexOf("|")); + return Integer.parseInt(pergunta); + } + + public String obterTextoPergunta(String pergunta) { + pergunta = pergunta.substring(pergunta.indexOf("|") + 1); + pergunta = pergunta.substring(0, pergunta.indexOf("?")); + StringBuilder perguntaBuilder = new StringBuilder(pergunta).append("?"); + return perguntaBuilder.toString(); + } +} diff --git a/src/main/java/utilities/PadronizadorDeTexto.java b/src/main/java/utilities/PadronizadorDeTexto.java new file mode 100644 index 0000000..e057efc --- /dev/null +++ b/src/main/java/utilities/PadronizadorDeTexto.java @@ -0,0 +1,17 @@ +package utilities; + +import java.text.Normalizer; +import java.util.Locale; + + +public class PadronizadorDeTexto { + public String padronizadorDeTexto (String string) { + if (string != null){ + string = Normalizer.normalize(string, Normalizer.Form.NFD); + string = string.replaceAll("[^\\p{ASCII}]", ""); + string = string.toUpperCase(Locale.forLanguageTag(string)); + string = string.replaceAll("\\s+",""); + } + return string; + } +} \ No newline at end of file diff --git a/src/main/java/utilities/RemoveEspacos.java b/src/main/java/utilities/RemoveEspacos.java new file mode 100644 index 0000000..ae4ec06 --- /dev/null +++ b/src/main/java/utilities/RemoveEspacos.java @@ -0,0 +1,34 @@ +package utilities; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.Scanner; +//import java.poi.*; + +public class RemoveEspacos { + String caminhoFormulario = "C:\\Go\\src\\github.com\\java-testes-2022\\src\\main\\java\\org\\run\\formulario.txt"; + + public void removerLinhasEmBranco() throws IOException { + + File arquivoVelho = new File(caminhoFormulario); + Scanner deleter = new Scanner(arquivoVelho); + String linhaPreenchida = ""; + + while (deleter.hasNextLine()) { + //Pega a próxima linha vazia e guarda em uma string + String currentLine = deleter.nextLine(); + //Se a linha for preenchida + if (!currentLine.isBlank()) { + //Adiciona a linha preenchida à string linhaPreenchida + linhaPreenchida += currentLine + System.lineSeparator(); //adds it to nonblankdata + } + } + PrintWriter writer = new PrintWriter(new FileWriter(caminhoFormulario)); + writer.print(linhaPreenchida); //print the nonBlankData to the file + writer.close(); + deleter.close(); + } + +} diff --git a/src/main/java/utilities/TextoParaLista.java b/src/main/java/utilities/TextoParaLista.java new file mode 100644 index 0000000..852cc6f --- /dev/null +++ b/src/main/java/utilities/TextoParaLista.java @@ -0,0 +1,24 @@ +package utilities; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Collections; +import java.util.List; + +public class TextoParaLista { + + public static List readFileIntoList(String file) { + List lines = Collections.emptyList(); + String caminhoFormulario = "C:\\Go\\src\\github.com\\java-testes-2022\\src\\main\\java\\org\\run\\formulario.txt"; + + + try { + lines = Files.readAllLines(Paths.get(caminhoFormulario)); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return lines; + } +} \ No newline at end of file diff --git a/src/test/java/menuclasses/AdicionaCandidatoTest.java b/src/test/java/menuclasses/AdicionaCandidatoTest.java new file mode 100644 index 0000000..61e753e --- /dev/null +++ b/src/test/java/menuclasses/AdicionaCandidatoTest.java @@ -0,0 +1,22 @@ +package menuclasses; + +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import utilities.MapeadorDePerguntas; + +import java.io.IOException; + +class AdicionaCandidatoTest { + + @Test + void candidatar() throws IOException { + + MapeadorDePerguntas dependencia = Mockito.mock(MapeadorDePerguntas.class); + + AdicionaCandidato adicionaCandidato = new AdicionaCandidato(); + + adicionaCandidato.candidatar(); + + Mockito.verify(dependencia).obterNumeroDaPergunta("1"); + } +} \ No newline at end of file diff --git a/src/test/java/menuclasses/AdicionaPerguntaTest.java b/src/test/java/menuclasses/AdicionaPerguntaTest.java new file mode 100644 index 0000000..af06b00 --- /dev/null +++ b/src/test/java/menuclasses/AdicionaPerguntaTest.java @@ -0,0 +1,23 @@ +package menuclasses; + +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import utilities.RemoveEspacos; + +import java.io.IOException; + +class AdicionaPerguntaTest { + + @Test + void adicionar() throws IOException { + + RemoveEspacos dependencia = Mockito.mock(RemoveEspacos.class); + + AdicionaPergunta adicionarPergunta = new AdicionaPergunta(); + + adicionarPergunta.adicionar(); + + Mockito.verify(dependencia).removerLinhasEmBranco(); + + } +} \ No newline at end of file diff --git a/src/test/java/org/run/CalcTest.java b/src/test/java/org/run/CalcTest.java new file mode 100644 index 0000000..ed944fc --- /dev/null +++ b/src/test/java/org/run/CalcTest.java @@ -0,0 +1,18 @@ +//package org.example; +// +//import static org.junit.jupiter.api.Assertions.*; +// +//class CalcTest { +// +// @org.junit.jupiter.api.BeforeEach +// void setUp() { +// } +// +// @org.junit.jupiter.api.AfterEach +// void tearDown() { +// } +// +// @org.junit.jupiter.api.Test +// void calculadora() { +// } +//} \ No newline at end of file diff --git a/src/test/java/org/run/MainTest.java b/src/test/java/org/run/MainTest.java new file mode 100644 index 0000000..ca37aeb --- /dev/null +++ b/src/test/java/org/run/MainTest.java @@ -0,0 +1,13 @@ +//package org.example; +// +//import static org.junit.jupiter.api.Assertions.*; +//import org.junit.jupiter.api.Test; +//import org.mockito.Mockito; +// +//class MainTest { +// +// @org.junit.jupiter.api.Test +// void main() { +// Main mock = Mockito.mock(Main.class); +// } +//} \ No newline at end of file diff --git a/target/classes/menuclasses/AdicionaCandidato.class b/target/classes/menuclasses/AdicionaCandidato.class new file mode 100644 index 0000000..93a543a Binary files /dev/null and b/target/classes/menuclasses/AdicionaCandidato.class differ diff --git a/target/classes/menuclasses/AdicionaPergunta.class b/target/classes/menuclasses/AdicionaPergunta.class new file mode 100644 index 0000000..8b5eaea Binary files /dev/null and b/target/classes/menuclasses/AdicionaPergunta.class differ diff --git a/target/classes/menuclasses/ListaDeCandidatos.class b/target/classes/menuclasses/ListaDeCandidatos.class new file mode 100644 index 0000000..9e5d83d Binary files /dev/null and b/target/classes/menuclasses/ListaDeCandidatos.class differ diff --git a/target/classes/menuclasses/PesquisaCandidato.class b/target/classes/menuclasses/PesquisaCandidato.class new file mode 100644 index 0000000..dc4c360 Binary files /dev/null and b/target/classes/menuclasses/PesquisaCandidato.class differ diff --git a/target/classes/menuclasses/RemovePergunta.class b/target/classes/menuclasses/RemovePergunta.class new file mode 100644 index 0000000..f4b2b1c Binary files /dev/null and b/target/classes/menuclasses/RemovePergunta.class differ diff --git a/target/classes/menuclasses/ValidaCandidato.class b/target/classes/menuclasses/ValidaCandidato.class new file mode 100644 index 0000000..f6ae8ff Binary files /dev/null and b/target/classes/menuclasses/ValidaCandidato.class differ diff --git a/target/classes/org/run/Main.class b/target/classes/org/run/Main.class new file mode 100644 index 0000000..acdc11d Binary files /dev/null and b/target/classes/org/run/Main.class differ diff --git a/target/classes/utilities/ContadorDeFormularios.class b/target/classes/utilities/ContadorDeFormularios.class new file mode 100644 index 0000000..e184bcd Binary files /dev/null and b/target/classes/utilities/ContadorDeFormularios.class differ diff --git a/target/classes/utilities/MapeadorDePerguntas.class b/target/classes/utilities/MapeadorDePerguntas.class new file mode 100644 index 0000000..5af7f24 Binary files /dev/null and b/target/classes/utilities/MapeadorDePerguntas.class differ diff --git a/target/classes/utilities/PadronizadorDeTexto.class b/target/classes/utilities/PadronizadorDeTexto.class new file mode 100644 index 0000000..ba8d1c6 Binary files /dev/null and b/target/classes/utilities/PadronizadorDeTexto.class differ diff --git a/target/classes/utilities/RemoveEspacos.class b/target/classes/utilities/RemoveEspacos.class new file mode 100644 index 0000000..3c39e9d Binary files /dev/null and b/target/classes/utilities/RemoveEspacos.class differ diff --git a/target/classes/utilities/TextoParaLista.class b/target/classes/utilities/TextoParaLista.class new file mode 100644 index 0000000..15059fb Binary files /dev/null and b/target/classes/utilities/TextoParaLista.class differ diff --git a/target/test-classes/MainClasses/AdicionaCandidatoTest.class b/target/test-classes/MainClasses/AdicionaCandidatoTest.class new file mode 100644 index 0000000..b873f10 Binary files /dev/null and b/target/test-classes/MainClasses/AdicionaCandidatoTest.class differ diff --git a/target/test-classes/MainClasses/AdicionaPerguntaTest.class b/target/test-classes/MainClasses/AdicionaPerguntaTest.class new file mode 100644 index 0000000..46d33ce Binary files /dev/null and b/target/test-classes/MainClasses/AdicionaPerguntaTest.class differ