public void SeConsultarAChaveDeUmObjetoDeveRetornarOValorEsperado() { var dicionarioSimples = new Dicionario(typeof(ObjetoDeTestes)); var objetoSimples = new ObjetoDeTestes() { Codigo = 123, Nome = "Testes ABC" }; dicionarioSimples.ConsultarValoresDaChave(objetoSimples) .Should().BeEquivalentTo(123); var dicionarioDupla = new Dicionario(typeof(ObjetoComChaveDupla)); var objetoDupla = new ObjetoComChaveDupla() { ChaveBase = 345, ChaveAutoIncremento = 789, Nome = "Testes CDF" }; dicionarioDupla.ConsultarValoresDaChave(objetoDupla) .Should().BeEquivalentTo(345, 789); }
public void SeSincronizarParametroEmComandoSemOParametroDefinidoDeveGerarArgumentException() { var comando = new SqlCommand(); var dicionario = new Dicionario(typeof(ObjetoComChaveDupla)); var objeto = new ObjetoComChaveDupla() { ChaveBase = 123, Nome = "ABC" }; Action sincronizar = () => CommandBuilder.SincronizarParametrosDeTodosOsCampos(dicionario, comando, objeto); sincronizar .ShouldThrow <IndexOutOfRangeException>(); }
public void SeSincronizarParametrosDosCamposChaveDeveDefinirValoresCorretamente() { var comando = new SqlCommand(); var dicionario = new Dicionario(typeof(ObjetoComChaveDupla)); CommandBuilder.DefinirParametrosParaTodosOsCamposDaChave(dicionario, comando); var objeto = new ObjetoComChaveDupla() { ChaveBase = 123, Nome = "ABC" }; CommandBuilder.SincronizarParametrosDosCamposChave(dicionario, comando, objeto); comando.Parameters["@p0"].Value .Should() .Be(123); }