<commit_before>package br.com.daniel.jdbc.teste.dao;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.junit.Assert;
import org.junit.Test;

import br.com.daniel.jdbc.conexao.Conexao;
import br.com.daniel.jdbc.dao.Dao;

public class DaoTest {

	@Test
	public void deveraRealizarUmSelect() throws SQLException{
		Dao dao = new Dao();
		ResultSet result = dao.sid()
				.dql(new Conexao().conectarMysql())
				.select("SELECT id, nome FROM teste.teste")
				.execute();
		
		String nome = null;
		Integer id = null;
		
		while (result.next()) {
			nome = result.getString("nome");
			id = result.getInt("id");
			break;			
		}
		
		Assert.assertEquals("Daniel", nome);
		Assert.assertEquals(Integer.valueOf(1), id);
	}
	
	@Test
	public void deveraRealizarUmSelectComParametros() throws SQLException{
		Dao dao = new Dao();
		ResultSet result = dao.sid()
				.dql(new Conexao().conectarMysql())
				.select("SELECT id, nome FROM teste.teste WHERE id = ? AND nome = ?", 1, "Daniel")
				.execute();
		
		String nome = null;
		Integer id = null;
		
		while (result.next()) {
			nome = result.getString("nome");
			id = result.getInt("id");
			break;			
		}
		
		Assert.assertEquals("Daniel", nome);
		Assert.assertEquals(Integer.valueOf(1), id);
	}
	
	@Test
	public void deveraRealizarUmInsertNaBaseDeDados() throws SQLException{
		Dao dao = new Dao();
		
		Boolean result = dao.sid().dml(new Conexao().conectarMysql())
				.insert("INSERT INTO `teste`.`teste` (`nome`, `idade`) VALUES (?, ?);", "Teste", 10)
				.execute();
		
		Assert.assertEquals(true, result);
		
		ResultSet resultado = dao.sid().dql(new Conexao().conectarMysql())
				.select("SELECT nome, idade FROM teste.teste WHERE nome = ? AND idade = ?", "Teste", 10)
				.execute();
		
		String nome = null;
		Integer idade = null;
		
		while (resultado.next()) {
			nome = resultado.getString("nome");
			idade = resultado.getInt("idade");			
		}
		
		Assert.assertEquals("Teste", nome);
		Assert.assertEquals(Integer.valueOf(10), idade);
	}
	
	@Test
	public void deveraAtualizarUmRegistroNaBaseDeDados() throws SQLException{
		Dao dao = new Dao();
		Integer id = null;
		String nomeSemUpdate = null;
		Integer idadeSemUpdate = null;
		
		String nomeAtualizado = null;
		Integer idadeAtualizada = null;
		
		// Busca usuário a ser alterado na Base de dados
		<commit_msg>Ajustando DaoTest<commit_after>package br.com.daniel.jdbc.teste.dao;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.junit.Assert;
import org.junit.Test;

import br.com.daniel.jdbc.conexao.Conexao;
import br.com.daniel.jdbc.dao.Dao;

public class DaoTest {

	@Test
	public void deveraRealizarUmSelect() throws SQLException{
		Dao dao = new Dao();
		ResultSet result = dao.sid()
				.dql(new Conexao().conectarMysql())
				.select("SELECT id, nome FROM teste.teste")
				.execute();
		
		String nome = null;
		Integer idade = null;
		
		while (result.next()) {
			nome = result.getString("nome");
			idade = result.getInt("idade");
			break;			
		}
		
		Assert.assertEquals("Daniel", nome);
		Assert.assertEquals(Integer.valueOf(27), idade);
	}
	
	@Test
	public void deveraRealizarUmSelectComParametros() throws SQLException{
		Dao dao = new Dao();
		ResultSet result = dao.sid()
				.dql(new Conexao().conectarMysql())
				.select("SELECT id, nome FROM teste.teste WHERE id = ? AND nome = ?", 27, "Daniel")
				.execute();
		
		String nome = null;
		Integer id = null;
		
		while (result.next()) {
			nome = result.getString("nome");
			id = result.getInt("id");
			break;			
		}
		
		Assert.assertEquals("Daniel", nome);
		Assert.assertEquals(Integer.valueOf(1), id);
	}
	

	
	@Test
	public void deveraAtualizarUmRegistroNaBaseDeDados() throws SQLException{
		Dao dao = new Dao();
		Integer id = null;
		String nomeSemUpdate = null;
		Integer idadeSemUpdate = null;
		
		String nomeAtualizado = null;
		Integer idadeAtualizada = null;
		
		// Busca usuário a ser alterado na Base de dados
		
{'fraction_non_alphanumeric': 0.13723511604439959, 'fraction_numerical': 0.0035317860746720484, 'mean_word_length': 3.5944380069524913, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1787806', 'n_tokens_mistral': 1611, 'n_tokens_neox': 1379, 'n_words': 324}