Author: [email protected]
Date: Fri Jan 20 08:55:26 2012
New Revision: 1950
Log:
[AMDATUCASSANDRA-144] Enhanced unit test to verify return order of
getSuperColumns
Modified:
trunk/amdatu-cassandra/cassandra-persistencemanager-hector/src/test/java/org/amdatu/cassandra/persistencemanager/hector/PersistenceManagerTest.java
Modified:
trunk/amdatu-cassandra/cassandra-persistencemanager-hector/src/test/java/org/amdatu/cassandra/persistencemanager/hector/PersistenceManagerTest.java
==============================================================================
---
trunk/amdatu-cassandra/cassandra-persistencemanager-hector/src/test/java/org/amdatu/cassandra/persistencemanager/hector/PersistenceManagerTest.java
(original)
+++
trunk/amdatu-cassandra/cassandra-persistencemanager-hector/src/test/java/org/amdatu/cassandra/persistencemanager/hector/PersistenceManagerTest.java
Fri Jan 20 08:55:26 2012
@@ -39,7 +39,8 @@
private static final String TEST_STANDARD_CF =
"PMUnitTestStandardColumnFamily";
private static final String TEST_SUPERCOLUMN = "PMUnitTestSuperColumn";
private static final String TEST_COLUMN = "PMUnitTestColumn";
- private static final int NR_TEST_ROWS = 105;
+ private static final int NR_TEST_ROWS = 105;
+ private static final int NR_TEST_COLUMNS = 20;
@BeforeClass
public static void setup() throws Exception {
@@ -71,7 +72,10 @@
// Test object types in Hector
testValueTypes(TEST_SUPER_CF, true);
testValueTypes(TEST_STANDARD_CF, false);
-
+
+ // Test sort order of super columns
+ testSortOrder(TEST_SUPER_CF);
+
LOG.info("Unit tests finished");
}
@@ -239,7 +243,28 @@
// in these rows.
Assert.assertEquals(NR_TEST_ROWS-10, m_hectorPM.getRowKeys(cf).size());
}
-
+
+ private void testSortOrder(final String scf) throws
UnsupportedEncodingException {
+ // Step 1 - Insert 20 test super columns
+ String rowKey = "sort_order_row";
+ for (int i = 1; i <= NR_TEST_COLUMNS; i++) {
+ String col = "col_" + i;
+ byte[] value = ("value_" + i).getBytes("UTF-8");
+ m_hectorPM.setValue(scf, rowKey, col, TEST_COLUMN, value);
+ }
+
+ // Step 2 - Retrieve and verify the sort order
+ List<HSuperColumn<String, String, String>> superColumns1 =
m_hectorPM.getSuperColumns(scf, rowKey, String.class);
+ List<HSuperColumn<String, String, String>> superColumns2 =
m_hectorPM.getSuperColumns(scf, rowKey, String.class);
+ int i=0;
+ for (HSuperColumn<String, String, String> superCol1 : superColumns1) {
+ if (!superCol1.getName().equals(superColumns2.get(i).getName())) {
+ Assert.fail("Ordering of super columns varies per query.");
+ }
+ i++;
+ }
+ }
+
private void assertEqual(final byte[] ba1, final byte[] ba2) {
if (ba1 == null && ba2 == null) {
return;
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits