View Javadoc
1   /*
2    * Copyright (C) 2003-2012 David E. Berry
3    *
4    * This library is free software; you can redistribute it and/or
5    * modify it under the terms of the GNU Lesser General Public
6    * License as published by the Free Software Foundation; either
7    * version 2.1 of the License, or (at your option) any later version.
8    *
9    * This library is distributed in the hope that it will be useful,
10   * but WITHOUT ANY WARRANTY; without even the implied warranty of
11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   * Lesser General Public License for more details.
13   *
14   * You should have received a copy of the GNU Lesser General Public
15   * License along with this library; if not, write to the Free Software
16   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17   *
18   * A copy of the GNU Lesser General Public License may also be found at
19   * http://www.gnu.org/licenses/lgpl.txt
20   */
21  package org.synchronoss.cpo.cassandra;
22  
23  import org.junit.*;
24  import org.synchronoss.cpo.*;
25  
26  import java.util.*;
27  
28  import static org.junit.Assert.*;
29  
30  /**
31   * BlobTest is a JUnit test class for testing the JdbcAdapter class Constructors
32   *
33   * @author david berry
34   */
35  public class OrderByTest {
36  
37    private CpoAdapter cpoAdapter = null;
38    private ArrayList<ValueObject> al = new ArrayList<>();
39  
40    public OrderByTest() {
41    }
42  
43    /**
44     * <code>setUp</code> Load the datasource from the properties in the property file jdbc_en_US.properties
45     */
46    @Before
47    public void setUp() {
48      String method = "setUp:";
49  
50      try {
51        cpoAdapter = CpoAdapterFactory.getCpoAdapter(CassandraStatics.ADAPTER_CONTEXT_DEFAULT);
52        assertNotNull(method + "CpoAdapter is null", cpoAdapter);
53        // Add the test valueObjects
54      } catch (Exception e) {
55        fail(method + e.getMessage());
56      }
57  
58      al.add(new ValueObjectBean(1));
59      al.add(new ValueObjectBean(2));
60      al.add(new ValueObjectBean(3));
61      al.add(new ValueObjectBean(4));
62      al.add(new ValueObjectBean(5));
63      try {
64        cpoAdapter.insertObjects("TestOrderByInsert", al);
65      } catch (Exception e) {
66        fail(method + e.getMessage());
67      }
68    }
69  
70    @After
71    public void tearDown() {
72      String method = "tearDown:";
73      try {
74        cpoAdapter.deleteObjects("TestOrderByDelete", al);
75      } catch (Exception e) {
76        fail(method + e.getMessage());
77      }
78      cpoAdapter = null;
79    }
80  
81    @Test
82    public void testNewOrderBy() {
83      String method = "testOrderByAscending:";
84      Collection<ValueObject> col;
85      String marker = "MY_MARKER";
86      String attribute = "MY_ATTRIBUTE";
87      String function = "MY_FUNCTION";
88      boolean ascending = false;
89  
90      try {
91        CpoOrderBy cob = cpoAdapter.newOrderBy(marker, attribute, ascending, function);
92        assertEquals(marker, cob.getMarker());
93        assertEquals(attribute, cob.getAttribute());
94        assertEquals(ascending, cob.getAscending());
95        assertEquals(function, cob.getFunction());
96      } catch (Exception e) {
97        fail(method + e.getMessage());
98      }
99    }
100 
101   /**
102    * TODO - add back in when you get the tables correct
103    */
104   @Test
105   public void testOrderByAscending() {
106 //    String method = "testOrderByAscending:";
107 //    Collection<ValueObject> col;
108 //
109 //
110 //    try {
111 //      Collection<Integer> inColl = new ArrayList<Integer>();
112 //      inColl.add(new Integer(1));
113 //      inColl.add(new Integer(3));
114 //      inColl.add(new Integer(5));
115 //
116 ////      CpoWhere cw = cpoAdapter.newWhere();
117 //      CpoWhere cw = cpoAdapter.newWhere(CpoWhere.LOGIC_NONE, "id", CpoWhere.COMP_IN, inColl);
118 //      ArrayList<CpoWhere> wheres = new ArrayList<CpoWhere>();
119 //      wheres.add(cw);
120 //
121 //      CpoOrderBy cob = cpoAdapter.newOrderBy("id", true);
122 //      Collection<CpoOrderBy> colCob = new ArrayList<CpoOrderBy>();
123 //      colCob.add(cob);
124 //      ValueObject valObj = new ValueObjectBean();
125 //      col = cpoAdapter.retrieveBeans("TestOrderByRetrieve", valObj, wheres, colCob);
126 //
127 //      int id = 1;
128 //      for (ValueObject vo : col) {
129 //        assertEquals(id, vo.getId());
130 //        id++;
131 //      }
132 //    } catch (Exception e) {
133 //      fail(method + e.getMessage());
134 //    }
135   }
136 
137   /**
138    * TODO - add back in when you get the tables correct
139    */
140   @Test
141   public void testOrderByDescending() {
142 //    String method = "testOrderByDescending:";
143 //    List<ValueObject> col;
144 //
145 //    try {
146 //      CpoOrderBy cob = cpoAdapter.newOrderBy("id", false, null);
147 //      CpoOrderBy cob2 = cpoAdapter.newOrderBy(CpoOrderBy.DEFAULT_MARKER, "attrVarChar", false, null);
148 //      Collection<CpoOrderBy> colCob = new ArrayList<CpoOrderBy>();
149 //      colCob.add(cob);
150 //      colCob.add(cob2);
151 //      ValueObject valObj = new ValueObjectBean();
152 //      col = cpoAdapter.retrieveBeans("TestOrderByRetrieve", valObj, colCob);
153 //      int id = 5;
154 //      for (ValueObject vo : col) {
155 //        assertEquals(id, vo.getId());
156 //        id--;
157 //      }
158 //    } catch (Exception e) {
159 //      fail(method + e.getMessage());
160 //    }
161   }
162 
163   @Test
164   public void testOrderByFunction() {
165 //    String method = "testOrderByAscending:";
166 //    Collection<ValueObject> col;
167 //
168 //    ValueObject vobj = new ValueObjectBean(-6);
169 //    try {
170 //      cpoAdapter.insertObject("TestOrderByInsert", vobj);
171 //    } catch (Exception e) {
172 //      fail(method + e.getMessage());
173 //    }
174 //    try {
175 //      CpoOrderBy cob = cpoAdapter.newOrderBy("id", true, "ABS(id)");
176 //      Collection<CpoOrderBy> colCob = new ArrayList<CpoOrderBy>();
177 //      colCob.add(cob);
178 //      ValueObject valObj = new ValueObjectBean();
179 //      col = cpoAdapter.retrieveBeans("TestOrderByRetrieve", valObj, colCob);
180 //
181 //      int id = 1;
182 //      for (ValueObject vo : col) {
183 //        int voId = vo.getId();
184 //        if (voId < 0) {
185 //          voId *= -1;
186 //        }
187 //        assertEquals(id, voId);
188 //        id++;
189 //      }
190 //    } catch (Exception e) {
191 //      fail(method + e.getMessage());
192 //    }
193 //
194 //    try {
195 //      cpoAdapter.deleteObject("TestOrderByDelete", vobj);
196 //
197 //    } catch (Exception e) {
198 //      fail(method + e.getMessage());
199 //    }
200   }
201 }