1   package uba.db.sql.language;
2   
3   import java.util.ArrayList;
4   import java.util.List;
5   
6   import junit.framework.TestCase;
7   import uba.db.testhelpers.TestUtils;
8   
9   /***
10   * @version $Revision: 1.4 $
11   */
12  public class DisplayAllColumnsTest extends TestCase {
13      /***
14       * Test de igualdad entre dos instancias.
15       */
16      public void testEquals() {
17          TestUtils.assertEqualsImplementation(new DisplayAllColumns(),
18                                               new DisplayAllColumns(),
19                                               "other");
20      }
21  
22      /***
23       * Test: agregar a un comodin de todas las columnas.
24       */
25      public void testAppendToAllColumns() {
26          DisplayColumns result = new DisplayAllColumns().append(new DisplayAllColumns());
27          List columns = new ArrayList();
28          columns.add(new DisplayAllColumns());
29          columns.add(new DisplayAllColumns());
30  
31          assertEquals(new DisplayMultipleColumns(columns), result);
32      }
33  
34      /***
35       * Test: agregar a una columna.
36       */
37      public void testAppendToOneColumn() {
38          DisplayOneColumn displayOneColumn = new DisplayOneColumn(new ColumnName("c"));
39          DisplayColumns result = displayOneColumn.append(new DisplayAllColumns());
40          List columns = new ArrayList();
41          columns.add(displayOneColumn);
42          columns.add(new DisplayAllColumns());
43  
44          assertEquals(new DisplayMultipleColumns(columns), result);
45      }
46  
47      /***
48       * Test: agregar a multiples columnas.
49       */
50      public void testAppendToMultipleColumns() {
51          DisplayOneColumn displayColumnC = new DisplayOneColumn(new ColumnName("c"));
52          DisplayOneColumn displayColumnD = new DisplayOneColumn(new ColumnName("d"));
53  
54          DisplayMultipleColumns multipleColumns = new DisplayMultipleColumns(
55                  displayColumnC, displayColumnD);
56          DisplayColumns result = multipleColumns.append(new DisplayAllColumns());
57          List columns = new ArrayList();
58          columns.add(displayColumnC);
59          columns.add(displayColumnD);
60          columns.add(new DisplayAllColumns());
61  
62          assertEquals(new DisplayMultipleColumns(columns), result);
63      }
64  }