<commit_before>package br.com.redesocial.modelo.bo;

import br.com.redesocial.modelo.dto.Artigo;
import br.com.redesocial.modelo.utilitarios.Utilitarios;
import java.io.File;
import java.util.List;
import org.junit.Test;
import java.util.Calendar;
import static org.junit.Assert.*;

/**
 * Unidade de testes para o ArtigoBO
 * @author <NAME>
 * @since 15/09/2017
*/
public class ArtigoBOTest {
    @Test     
    public void testMetodoInserir() throws Exception {
        ArtigoBO bo = new ArtigoBO();

        Artigo artigo1 = new Artigo();
        artigo1.setIdioma("Portugues");       
        artigo1.setRevista("SBIS");
        artigo1.setISSN("33333333");
        artigo1.setAutor("Ciencias da terra"); 
        Calendar calendario = Calendar.getInstance();
        calendario.set(1988, 2, 7, 0, 0, 0);            
        artigo1.setData(calendario.getTime());
        artigo1.setAreaConhecimento("Ciencias da terra");
        artigo1.setTitulo("Título teste 1");
        artigo1.setResumo("Em design gráfico e editoração, Lorem ipsum é um texto utilizado para preencher o espaço de texto em publicações (jornais, revistas, e websites), com a finalidade de verificar o lay-out, tipografia e formatação antes de utilizar conteúdo real. Muitas vezes este texto também é utilizado em catálogos de tipografia para demonstrar textos e títulos escritos com as fontes.");
        artigo1.setURL("www.artigo.com.br");
        artigo1.setArtigo(Utilitarios.lerArquivo(new File("../../arquivos_teste/nome_arquivo.txt")));
        
        try {
            bo.inserir(artigo1);
        } catch (Exception ex) {
            fail("Falha ao inserir um artigo: " + ex.getMessage());
        }

    }
     
    //@Test
    public void testMetodoAlterar() throws Exception {
        ArtigoBO bo = new ArtigoBO();
        
        Artigo artigo = new Artigo();
        
        artigo.setIdioma("Ingles");       
        artigo.setRevista("RC");
        artigo.setISSN("1234");
        artigo.setAutor("João"); 
        Calendar calendario = Calendar.getInstance();
        calendario.set(1988, 2, 7, 0, 0, 0);            
        artigo.setData(calendario.getTime());
        artigo.setAreaConhecimento("Ciencias da Terra");
        artigo.setTitulo("Qualquer Coisa");
        artigo.setResumo("Lorem ipsum é um texto utilizado para preencher o espaço de texto em publicações (jornais, revistas, e websites), com a finalidade de verificar o lay-out, tipografia e formatação antes de utilizar conteúdo real. Muitas vezes este texto também é utilizado em catálogos de tipografia para demonstrar textos e títulos escritos com as fontes.");
        artigo.setURL("www.artigo.com.br");
        artigo.setArtigo(Utilitarios.lerArquivo(new File("../../arquivos_teste/nome_arquivo.txt")));
        
        try {
            bo.inserir(artigo);
        } catch (Exception ex) {
            fail("Falha ao inserir um artigo: " + ex.getMessage());
        }

        //Mudança dos dados
        artigo.setIdioma("Portugues");       
        artigo.setRevista("RC");
        artigo.setISSN("1234");
        artigo.setAutor("João");           
        artigo.setData(calendario.getTime());
        artigo.setAreaConhecimento("Ciencias da Terra");
        artigo.setTitulo("Qualquer Coisa");
        artigo.setResumo("Lorem ipsum é um texto utilizado para preencher o espaço de texto em publicações (jornais, revistas, e websites), com a finalidade de verificar o lay-out, tipografia e formatação antes de utilizar conteúdo real. Muitas vezes este texto também é utilizado em catálogos de tipografia para demonstrar textos e títulos escritos com as fontes.");
        artigo.setURL("www.artigo.com.br");
        artigo.setArtigo(Utilitarios.lerArquivo(new File("../../arquivos_teste/nome_arquivo.txt")));
        
        try {
            bo.alterar(artigo);
        } catch (Exception ex) {
            fail("Falha ao inserir um artigo: " + ex.getMessage());
        }
    }
    
    //@Test
    public void testMetodoSelecionar() throws Exception{
        
        ArtigoBO bo = new ArtigoBO();

        try{
            List existentes = bo.listar();
            int qtdeExistentes = existentes.size();
            
            Artigo artigo2 = new Artigo();
        artigo2.setIdioma("Ingles");       
        artigo2.setRevista("SBIS");
        artigo2.setISSN("33333333");
        artigo2.setAutor("Ciencias da terra"); 
        Calendar calendario = Calendar.getInstance();
        calendario.set(1988, 2, 7, 0, 0, 0);            
        artigo2.setData(calendario.getTime());
        artigo2.setAreaConhecimento("Ciencias da terra");
        artigo2.setTitulo("Título teste 1");
        artigo2.setResumo("Em design gráfico e editoração, Lorem ipsum é um texto utilizado para preencher o espaço de texto em publicações (jornais, revistas, e websites), com a finalidade de verificar o lay-out, tipografia e formatação antes de utilizar conteúdo real. Muitas vezes este texto também é utilizado em catálogos de tipografia para demonstrar textos e títulos escritos com as fontes.");
        artigo2.setURL("www.artigo.com.br");
        artigo2.setArtigo(Utilitarios.lerArquivo(new File("../../arquivos_teste/nome_arquivo.txt")));
      
        
        try{
                /**
                 * Inserindo comentário no banco de dados
                 */<commit_msg>Correção no teste de artigo<commit_after>package br.com.redesocial.modelo.bo;

import br.com.redesocial.modelo.dto.Artigo;
import br.com.redesocial.modelo.utilitarios.Utilitarios;
import java.io.File;
import java.util.List;
import org.junit.Test;
import java.util.Calendar;
import static org.junit.Assert.*;

/**
 * Unidade de testes para o ArtigoBO
 * @author <NAME>
 * @since 15/09/2017
*/
public class ArtigoBOTest {
    @Test     
    public void testMetodoInserir() throws Exception {
        ArtigoBO bo = new ArtigoBO();

        Artigo artigo1 = new Artigo();
        artigo1.setIdioma("Portugues");       
        artigo1.setRevista("SBIS");
        artigo1.setISSN("33333333");
        artigo1.setAutor("Ciencias da terra"); 
        Calendar calendario = Calendar.getInstance();
        calendario.set(1988, 2, 7, 0, 0, 0);            
        artigo1.setData(calendario.getTime());
        artigo1.setAreaConhecimento("Ciencias da terra");
        artigo1.setTitulo("Título teste 1");
        artigo1.setResumo("Em design gráfico e editoração, Lorem ipsum é um texto utilizado para preencher o espaço de texto em publicações (jornais, revistas, e websites), com a finalidade de verificar o lay-out, tipografia e formatação antes de utilizar conteúdo real. Muitas vezes este texto também é utilizado em catálogos de tipografia para demonstrar textos e títulos escritos com as fontes.");
        artigo1.setURL("www.artigo.com.br");
        artigo1.setArtigo(Utilitarios.lerArquivo(new File("../../arquivos_teste/nome_arquivo.txt")));
        
        try {
            bo.inserir(artigo1);
        } catch (Exception ex) {
            fail("Falha ao inserir um artigo: " + ex.getMessage());
        }

    }
     
    //@Test
    public void testMetodoAlterar() throws Exception {
        ArtigoBO bo = new ArtigoBO();
        
        Artigo artigo = new Artigo();
        
        artigo.setIdioma("Ingles");       
        artigo.setRevista("RC");
        artigo.setISSN("1234");
        artigo.setAutor("João"); 
        Calendar calendario = Calendar.getInstance();
        calendario.set(1988, 2, 7, 0, 0, 0);            
        artigo.setData(calendario.getTime());
        artigo.setAreaConhecimento("Ciencias da Terra");
        artigo.setTitulo("Qualquer Coisa");
        artigo.setResumo("Lorem ipsum é um texto utilizado para preencher o espaço de texto em publicações (jornais, revistas, e websites), com a finalidade de verificar o lay-out, tipografia e formatação antes de utilizar conteúdo real. Muitas vezes este texto também é utilizado em catálogos de tipografia para demonstrar textos e títulos escritos com as fontes.");
        artigo.setURL("www.artigo.com.br");
        artigo.setArtigo(Utilitarios.lerArquivo(new File("../../arquivos_teste/nome_arquivo.txt")));
        
        try {
            bo.inserir(artigo);
        } catch (Exception ex) {
            fail("Falha ao inserir um artigo: " + ex.getMessage());
        }

        //Mudança dos dados
        artigo.setIdioma("Portugues");       
        artigo.setRevista("RC");
        artigo.setISSN("1234");
        artigo.setAutor("João");           
        artigo.setData(calendario.getTime());
        artigo.setAreaConhecimento("Ciencias da Terra");
        artigo.setTitulo("Qualquer Coisa");
        artigo.setResumo("Lorem ipsum é um texto utilizado para preencher o espaço de texto em publicações (jornais, revistas, e websites), com a finalidade de verificar o lay-out, tipografia e formatação antes de utilizar conteúdo real. Muitas vezes este texto também é utilizado em catálogos de tipografia para demonstrar textos e títulos escritos com as fontes.");
        artigo.setURL("www.artigo.com.br");
        artigo.setArtigo(Utilitarios.lerArquivo(new File("../../arquivos_teste/nome_arquivo.txt")));
        
        try {
            bo.alterar(artigo);
        } catch (Exception ex) {
            fail("Falha ao inserir um artigo: " + ex.getMessage());
        }
    }
    
    @Test
    public void testMetodoSelecionar() throws Exception{
        
        ArtigoBO bo = new ArtigoBO();

        try{
            List existentes = bo.listar();
            int qtdeExistentes = existentes.size();
            
            Artigo artigo2 = new Artigo();
        artigo2.setIdioma("Ingles");       
        artigo2.setRevista("SBIS");
        artigo2.setISSN("33333333");
        artigo2.setAutor("Ciencias da terra"); 
        Calendar calendario = Calendar.getInstance();
        calendario.set(1988, 2, 7, 0, 0, 0);            
        artigo2.setData(calendario.getTime());
        artigo2.setAreaConhecimento("Ciencias da terra");
        artigo2.setTitulo("Título teste 1");
        artigo2.setResumo("Em design gráfico e editoração, Lorem ipsum é um texto utilizado para preencher o espaço de texto em publicações (jornais, revistas, e websites), com a finalidade de verificar o lay-out, tipografia e formatação antes de utilizar conteúdo real. Muitas vezes este texto também é utilizado em catálogos de tipografia para demonstrar textos e títulos escritos com as fontes.");
        artigo2.setURL("www.artigo.<EMAIL>");
        artigo2.setArtigo(Utilitarios.lerArquivo(new File("../../arquivos_teste/nome_arquivo.txt")));
      
        
        try{
                /**
                 * Inserindo comentário no banco de dados
                 */
{'fraction_non_alphanumeric': 0.1047672357496035, 'fraction_numerical': 0.0156731038343129, 'mean_word_length': 2.5590969455511288, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 8, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 4, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1565660', 'n_tokens_mistral': 3558, 'n_tokens_neox': 3491, 'n_words': 862}