Revision 46505 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/test/java/org/gvsig/expressionevaluator/TestExpressionBuilder.java

View differences:

TestExpressionBuilder.java
4 4
import org.gvsig.expressionevaluator.impl.expressionbuilder.formatters.DALFormatter;
5 5
import org.gvsig.fmap.dal.DALLocator;
6 6
import org.gvsig.fmap.dal.DataManager;
7
import org.gvsig.fmap.dal.SQLBuilder;
7 8
import org.gvsig.fmap.dal.expressionevaluator.DALExpressionBuilder;
8 9
import org.gvsig.fmap.dal.expressionevaluator.DALExpressionBuilder.SelectBuilder;
10
import org.gvsig.fmap.dal.feature.spi.SQLBuilderBase;
9 11
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
10 12

  
11 13
/**
......
64 66

  
65 67
    public void testUseCase1() {
66 68
      DataManager dataManager = DALLocator.getDataManager();
67
      DALExpressionBuilder builder = dataManager.createDALExpressionBuilder();
69
      DALExpressionBuilder builder1 = dataManager.createDALExpressionBuilder();
70
      SQLBuilderBase builder = new SQLBuilderBase();
68 71

  
69
      SelectBuilder select = builder.select()
70
              .column("LID_ACCIDENTE")
71
              .from("ARENA2_VEHICULOS")
72
              .where(
73
                      builder.expression().and(
74
                              builder.expression().eq(
75
                                      builder.expression().getattr("ARENA2_VEHICULOS","ID_ACCIDENTE"),
76
                                      builder.expression().getattr("ARENA2_ACCIDENTES","LID_ACCIDENTE")
77
                              ),
78
                              builder.expression().eq(
79
                                      builder.expression().column("MODELO"),
80
                                      builder.expression().constant("307")
81
                              )
82
                      )
83
              )
84
              .limit(1);
85
        ExpressionBuilder.Value exists = builder.exists(select.toValue(), "EXISTS123");
72
        SQLBuilder.SelectBuilder select = builder.select();
73
        select.column().name("LID_ACCIDENTE");
74
        select.from().table().name("ARENA2_VEHICULOS");
75
        select.where().value(
76
                builder.expression().and(
77
                        builder.expression().eq(
78
                                builder.expression().getattr("ARENA2_VEHICULOS","ID_ACCIDENTE"),
79
                                builder.expression().getattr("ARENA2_ACCIDENTES","LID_ACCIDENTE")
80
                        ),
81
                        builder.expression().eq(
82
                                builder.expression().column("MODELO"),
83
                                builder.expression().constant("307")
84
                        )
85
                )
86
        );
87
        select.limit(1);
88
        
89
        
90
              
91
        ExpressionBuilder.Value exists = builder1.exists(select, "EXISTS123");
86 92

  
87 93
        String filter = exists.toString(new DALFormatter());
88 94
        
89
        assertEquals("EXISTS((SELECT \"LID_ACCIDENTE\" FROM \"ARENA2_VEHICULOS\" WHERE (( (\"ARENA2_VEHICULOS\".\"ID_ACCIDENTE\") = (\"ARENA2_ACCIDENTES\".\"LID_ACCIDENTE\") ) AND ( (\"MODELO\") = ('307') )) LIMIT 1), 'EXISTS123')", filter);
95
        assertEquals("EXISTS(SELECT \"LID_ACCIDENTE\" FROM \"ARENA2_VEHICULOS\" WHERE (( (\"ARENA2_VEHICULOS\".\"ID_ACCIDENTE\") = (\"ARENA2_ACCIDENTES\".\"LID_ACCIDENTE\") ) AND ( (\"MODELO\") = ('307') )) LIMIT 1, 'EXISTS123')", filter);
90 96
        
91 97
        // Comprobamos que con el formatter por defecto obtenemos lo mismo.
92 98
        assertEquals(filter, exists.toString());

Also available in: Unified diff