示例#1
0
        public void AssertSQLSimples()
        {
            string sql = "";

            sql += "SELECT " + SELECT_PRODUTO + " ";
            sql += "FROM produto p";

            targetProduto = new QuerySimple <Produto>();
            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
        public void GeraSQLSimplesProduto()
        {
            string sql = "";
            sql += "SELECT p.id p_id, p.codigo_de_barras p_codigo_de_barras, p.nome p_nome, p.nome2 p_nome2, p.quantidade p_quantidade ";
            sql += "FROM produto p ";
            sql += "WHERE p.id = 12";

            QuerySimple<Produto>  targetProduto = new QuerySimple<Produto>().Where("produto.Id = 12");
            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
示例#3
0
        public void GeraSQLSimplesProduto()
        {
            string sql = "";

            sql += "SELECT p.id p_id, p.codigo_de_barras p_codigo_de_barras, p.nome p_nome, p.nome2 p_nome2, p.quantidade p_quantidade ";
            sql += "FROM produto p ";
            sql += "WHERE p.id = 12";

            QuerySimple <Produto> targetProduto = new QuerySimple <Produto>().Where("produto.Id = 12");

            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
示例#4
0
        public void AssertSQLSimplesPrecoProduto()
        {
            string sql = "";

            sql += "SELECT " + SELECT_PRECO + ", ";
            sql += SELECT_PRODUTO.Replace("p.", "pr.").Replace("p_", "pr_") + " ";
            sql += "FROM preco_produto p ";
            sql += "JOIN produto pr ON (pr.id = p.id_produto)";

            targetPreco = new QuerySimple <PrecoProduto>();
            Assert.That(targetPreco.ToString(), Is.EqualTo(sql));
        }
示例#5
0
        public void AssertSQLComDuasClausulaWhere()
        {
            string sql = "";
            sql += "SELECT " + SELECT_PRODUTO + " ";
            sql += "FROM produto p ";
            sql += "WHERE p.id > 3 AND p.nome='arroz'";

            targetProduto = new QuerySimple<Produto>()
                .Where("produto.Id > " + 3 + " AND produto.Nome='arroz'");

            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
示例#6
0
        public void AssertSQLSimplesComDoisOrdenadores()
        {
            string sql = "";

            sql += "SELECT " + SELECT_PRODUTO + " ";
            sql += "FROM produto p ";
            sql += "ORDER BY p.id DESC, p.nome";

            targetProduto = new QuerySimple <Produto>()
                            .OrderBy("produto.Id DESC, produto.Nome");

            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
示例#7
0
        public void AssertSQLComUmaClausulaWhere()
        {
            string sql = "";

            sql += "SELECT " + SELECT_PRODUTO + " ";
            sql += "FROM produto p ";
            sql += "WHERE p.id > 3";

            targetProduto = new QuerySimple <Produto>()
                            .Where("produto.Id > " + 3);

            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
示例#8
0
        public void AssertSQLComOrWhere()
        {
            string sql = "";

            sql += "SELECT " + SELECT_PRODUTO + " ";
            sql += "FROM produto p ";
            sql += "WHERE p.id > 3 OR p.nome = 'arroz'";

            targetProduto = new QuerySimple <Produto>()
                            .Where("produto.Id > " + 3 + " OR produto.Nome = 'arroz'");

            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
示例#9
0
        public void AssertSQLComCondicaoSimplesPrecoProduto()
        {
            targetPreco = new QuerySimple<PrecoProduto>()
                .Where("precoProduto.Preco = 3");

            string sql = "";
            sql += "SELECT " + SELECT_PRECO + ", ";
            sql += SELECT_PRODUTO.Replace("p.", "pr.").Replace("p_", "pr_") + " ";
            sql += "FROM preco_produto p ";
            sql += "JOIN produto pr ON (pr.id = p.id_produto) ";
            sql += "WHERE p.preco = 3";

            Assert.That(targetPreco.ToString(), Is.EqualTo(sql));
        }
示例#10
0
        public void AssertSQLComUmaCondicaoWhereEComUmOrdenador()
        {
            string sql = "";

            sql += "SELECT " + SELECT_PRODUTO + " ";
            sql += "FROM produto p ";
            sql += "WHERE p.nome2 NOT IS NULL ";
            sql += "ORDER BY p.codigo_de_barras";

            targetProduto = new QuerySimple <Produto>()
                            .Where("produto.Nome2 NOT IS NULL")
                            .OrderBy("produto.CodigoDeBarras");

            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
示例#11
0
        public void AssertSQLComCondicaoCompostaPrecoProduto()
        {
            targetPreco = new QuerySimple <PrecoProduto>()
                          .Where("precoProduto.Produto.Nome = 'Arroz'");

            string sql = "";

            sql += "SELECT " + SELECT_PRECO + ", ";
            sql += SELECT_PRODUTO.Replace("p.", "pr.").Replace("p_", "pr_") + " ";
            sql += "FROM preco_produto p ";
            sql += "JOIN produto pr ON (pr.id = p.id_produto) ";
            sql += "WHERE pr.nome = 'Arroz'";

            Assert.That(targetPreco.ToString(), Is.EqualTo(sql));
        }
示例#12
0
        public void AssertSQLSimplesAlteracaoPrecoProduto()
        {
            targetAlteracao = new QuerySimple <AlteracaoPrecoProduto>();

            string sql = "";

            sql += "SELECT a.id a_id, a.data_alteracao a_data_alteracao, ";
            sql += "p.id p_id, p.data_fim p_data_fim, p.data_inicio p_data_inicio, p.preco p_preco, ";
            sql += "pr.id pr_id, pr.codigo_de_barras pr_codigo_de_barras, pr.nome pr_nome, pr.nome2 pr_nome2, pr.quantidade pr_quantidade ";
            sql += "FROM alteracao_preco_produto a ";
            sql += "JOIN preco_produto p ON (p.id = a.id_preco_prod) ";
            sql += "JOIN produto pr ON (pr.id = p.id_produto)";

            Assert.That(targetAlteracao.ToString(), Is.EqualTo(sql));
        }
        public void GeraSQLSimplesComparadorProduto()
        {
            target = new QuerySimple<ComparadorProdutos>()
                .Where("comparadorProdutos.ProdutoA.Id = 100");

            string sql = "";
            sql += "SELECT c.id c_id, c.data_comparacao c_data_comparacao, ";
            sql += "p.id p_id, p.codigo_de_barras p_codigo_de_barras, p.nome p_nome, p.nome2 p_nome2, p.quantidade p_quantidade, ";
            sql += "pr.id pr_id, pr.codigo_de_barras pr_codigo_de_barras, pr.nome pr_nome, pr.nome2 pr_nome2, pr.quantidade pr_quantidade ";
            sql += "FROM comparador_produtos c ";
            sql += "LEFT JOIN produto p ON (p.id = c.id_produto_a) ";
            sql += "LEFT JOIN produto pr ON (pr.id = c.id_produto_b) ";
            sql += "WHERE p.id = 100";

            Assert.That(target.ToString(), Is.EqualTo(sql));
        }
示例#14
0
        public void GeraSQLSimplesComparadorProduto()
        {
            target = new QuerySimple <ComparadorProdutos>()
                     .Where("comparadorProdutos.ProdutoA.Id = 100");

            string sql = "";

            sql += "SELECT c.id c_id, c.data_comparacao c_data_comparacao, ";
            sql += "p.id p_id, p.codigo_de_barras p_codigo_de_barras, p.nome p_nome, p.nome2 p_nome2, p.quantidade p_quantidade, ";
            sql += "pr.id pr_id, pr.codigo_de_barras pr_codigo_de_barras, pr.nome pr_nome, pr.nome2 pr_nome2, pr.quantidade pr_quantidade ";
            sql += "FROM comparador_produtos c ";
            sql += "JOIN produto p ON (p.id = c.id_produto_a) ";
            sql += "JOIN produto pr ON (pr.id = c.id_produto_b) ";
            sql += "WHERE p.id = 100";

            Assert.That(target.ToString(), Is.EqualTo(sql));
        }
示例#15
0
        public void AssertSQLComTresClausulaWhere()
        {
            string condicao = "produto.Id > 3";

            condicao += " AND produto.Nome= 'arroz'";
            condicao += " AND produto.CodigoDeBarras ='78965436321'";

            string sql = "";

            sql += "SELECT " + SELECT_PRODUTO + " ";
            sql += "FROM produto p ";
            sql += "WHERE p.id > 3 AND p.nome= 'arroz' AND p.codigo_de_barras ='78965436321'";

            targetProduto = new QuerySimple <Produto>()
                            .Where(condicao);

            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
示例#16
0
        public void AssertSQLComCondicoesCompostasEOrderByCompostoAlteracaoPrecoProduto()
        {
            targetAlteracao = new QuerySimple<AlteracaoPrecoProduto>()
                .Where("AlteracaoPrecoProduto.PrecoProd.produto.CodigoDeBarras = '058764' AND TRUNC(alteracaoPrecoProduto.DataAlteracao) > '11/07/2015' AND AlteracaoPrecoProduto.PrecoProd.Preco < 4")
                .OrderBy("AlteracaoPrecoProduto.PrecoProd.DataInicio, AlteracaoPrecoProduto.PrecoProd.produto.Id ASC, alteracaoPrecoProduto.DataAlteracao DESC");

            string sql = "";
            sql += "SELECT a.id a_id, a.data_alteracao a_data_alteracao, ";
            sql += "p.id p_id, p.data_fim p_data_fim, p.data_inicio p_data_inicio, p.preco p_preco, ";
            sql += "pr.id pr_id, pr.codigo_de_barras pr_codigo_de_barras, pr.nome pr_nome, pr.nome2 pr_nome2, pr.quantidade pr_quantidade ";
            sql += "FROM alteracao_preco_produto a ";
            sql += "JOIN preco_produto p ON (p.id = a.id_preco_prod) ";
            sql += "JOIN produto pr ON (pr.id = p.id_produto) ";
            sql += "WHERE pr.codigo_de_barras = '058764' ";
            sql += "AND TRUNC(a.data_alteracao) > '11/07/2015' ";
            sql += "AND p.preco < 4 ";
            sql += "ORDER BY p.data_inicio, ";
            sql += "pr.id ASC, ";
            sql += "a.data_alteracao DESC";

            Assert.That(targetAlteracao.ToString(), Is.EqualTo(sql));
        }
示例#17
0
        public void AssertSQLComCondicoesCompostasEOrderByCompostoAlteracaoPrecoProduto()
        {
            targetAlteracao = new QuerySimple <AlteracaoPrecoProduto>()
                              .Where("AlteracaoPrecoProduto.PrecoProd.produto.CodigoDeBarras = '058764' AND TRUNC(alteracaoPrecoProduto.DataAlteracao) > '11/07/2015' AND AlteracaoPrecoProduto.PrecoProd.Preco < 4")
                              .OrderBy("AlteracaoPrecoProduto.PrecoProd.DataInicio, AlteracaoPrecoProduto.PrecoProd.produto.Id ASC, alteracaoPrecoProduto.DataAlteracao DESC");

            string sql = "";

            sql += "SELECT a.id a_id, a.data_alteracao a_data_alteracao, ";
            sql += "p.id p_id, p.data_fim p_data_fim, p.data_inicio p_data_inicio, p.preco p_preco, ";
            sql += "pr.id pr_id, pr.codigo_de_barras pr_codigo_de_barras, pr.nome pr_nome, pr.nome2 pr_nome2, pr.quantidade pr_quantidade ";
            sql += "FROM alteracao_preco_produto a ";
            sql += "JOIN preco_produto p ON (p.id = a.id_preco_prod) ";
            sql += "JOIN produto pr ON (pr.id = p.id_produto) ";
            sql += "WHERE pr.codigo_de_barras = '058764' ";
            sql += "AND TRUNC(a.data_alteracao) > '11/07/2015' ";
            sql += "AND p.preco < 4 ";
            sql += "ORDER BY p.data_inicio, ";
            sql += "pr.id ASC, ";
            sql += "a.data_alteracao DESC";

            Assert.That(targetAlteracao.ToString(), Is.EqualTo(sql));
        }
示例#18
0
        public void AssertSQLSimplesPrecoProduto()
        {
            string sql = "";
            sql += "SELECT " + SELECT_PRECO + ", ";
            sql += SELECT_PRODUTO.Replace("p.", "pr.").Replace("p_", "pr_") + " ";
            sql += "FROM preco_produto p ";
            sql += "LEFT JOIN produto pr ON (pr.id = p.id_produto)";

            targetPreco = new QuerySimple<PrecoProduto>();
            Assert.That(targetPreco.ToString(), Is.EqualTo(sql));
        }
示例#19
0
        public void GeraSQLComFiltrosEmDuasClassesComBoolean()
        {
            var targetPessoa = new QuerySimple<Pessoa>()
                .Where("!pessoa.contato.ativo AND pEsSoA.nome = 'NOME' AND pessoa.Ativo")
                .OrderBy("pessoa.contato.ativo, pessoa.contato.nome, PeSsoA.AtiVo");

            string sql = "";
            sql += "SELECT p.id p_id, p.ativo p_ativo, p.nome p_nome, ";
            sql += "c.id c_id, c.ativo c_ativo, c.nome c_nome ";
            sql += "FROM pessoa p ";
            sql += "LEFT JOIN contato c ON (c.id = p.id_contato) ";
            sql += "WHERE c.ativo = 0 AND p.nome = 'NOME' AND p.ativo = 1 ";
            sql += "ORDER BY c.ativo, c.nome, p.ativo";

            Assert.That(targetPessoa.ToString(), Is.EqualTo(sql));
        }
示例#20
0
        public void GeraSQLComWhereCompostoComBoolEOrderBy()
        {
            var targetContato = new QuerySimple<Contato>()
                .Where("contato.nome LIKE '%!' AND !cOnTaTo.AtIvO")
                .OrderBy("contato.Id, contato.ativo, contato.NoMe");

            string sql = "";
            sql += "SELECT c.id c_id, c.ativo c_ativo, c.nome c_nome ";
            sql += "FROM contato c ";
            sql += "WHERE c.nome LIKE '%!' AND c.ativo = 0 ";
            sql += "ORDER BY c.id, c.ativo, c.nome";

            Assert.That(targetContato.ToString(), Is.EqualTo(sql));
        }
示例#21
0
        public void GeraSQLSimplesComBool()
        {
            var targetContato = new QuerySimple<Contato>()
                .Where("!contato.ativo");

            string sql = "";
            sql += "SELECT c.id c_id, c.ativo c_ativo, c.nome c_nome ";
            sql += "FROM contato c ";
            sql += "WHERE c.ativo = 0";

            Assert.That(targetContato.ToString(), Is.EqualTo(sql));
        }
示例#22
0
        public void AssertSQLComTresClausulaWhere()
        {
            string condicao = "produto.Id > 3";
            condicao += " AND produto.Nome= 'arroz'";
            condicao += " AND produto.CodigoDeBarras ='78965436321'";

            string sql = "";
            sql += "SELECT " + SELECT_PRODUTO + " ";
            sql += "FROM produto p ";
            sql += "WHERE p.id > 3 AND p.nome= 'arroz' AND p.codigo_de_barras ='78965436321'";

            targetProduto = new QuerySimple<Produto>()
                .Where(condicao);

            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
示例#23
0
        public void AssertSQLComUmaCondicaoWhereEComUmOrdenador()
        {
            string sql = "";
            sql += "SELECT " + SELECT_PRODUTO + " ";
            sql += "FROM produto p ";
            sql += "WHERE p.nome2 NOT IS NULL ";
            sql += "ORDER BY p.codigo_de_barras";

            targetProduto = new QuerySimple<Produto>()
                .Where("produto.Nome2 NOT IS NULL")
                .OrderBy("produto.CodigoDeBarras");

            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
示例#24
0
        public void AssertSQLSimples()
        {
            string sql = "";
            sql += "SELECT " + SELECT_PRODUTO + " ";
            sql += "FROM produto p";

            targetProduto = new QuerySimple<Produto>();
            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
示例#25
0
        public void AssertSQLSimplesAlteracaoPrecoProduto()
        {
            targetAlteracao = new QuerySimple<AlteracaoPrecoProduto>();

            string sql = "";
            sql += "SELECT a.id a_id, a.data_alteracao a_data_alteracao, ";
            sql += "p.id p_id, p.data_fim p_data_fim, p.data_inicio p_data_inicio, p.preco p_preco, ";
            sql += "pr.id pr_id, pr.codigo_de_barras pr_codigo_de_barras, pr.nome pr_nome, pr.nome2 pr_nome2, pr.quantidade pr_quantidade ";
            sql += "FROM alteracao_preco_produto a ";
            sql += "JOIN preco_produto p ON (p.id = a.id_preco_prod) ";
            sql += "JOIN produto pr ON (pr.id = p.id_produto)";

            Assert.That(targetAlteracao.ToString(), Is.EqualTo(sql));
        }
示例#26
0
        public void AssertSQLSimplesComUmOrdenador()
        {
            string sql = "";
            sql += "SELECT " + SELECT_PRODUTO + " ";
            sql += "FROM produto p ";
            sql += "ORDER BY p.id";

            targetProduto = new QuerySimple<Produto>()
                .OrderBy("produto.Id");

            Assert.That(targetProduto.ToString(), Is.EqualTo(sql));
        }
示例#27
0
        public void GeraSQLComBoolAtivoNoWhereEOrderBy()
        {
            var targetContato = new QuerySimple<Contato>()
                .Where("contato.ativo")
                .OrderBy("contato.ativo");

            string sql = "";
            sql += "SELECT c.id c_id, c.ativo c_ativo, c.nome c_nome ";
            sql += "FROM contato c ";
            sql += "WHERE c.ativo = 1 ";
            sql += "ORDER BY c.ativo";

            Assert.That(targetContato.ToString(), Is.EqualTo(sql));
        }