Author: jbellis
Date: Fri Aug  7 16:23:42 2009
New Revision: 802070

URL: http://svn.apache.org/viewvc?rev=802070&view=rev
Log:
add test for multi-block reversal.
patch by jbellis; reviewed by Jun Rao for CASSANDRA-332

Modified:
    incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java

Modified: 
incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java
URL: 
http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java?rev=802070&r1=802069&r2=802070&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java 
(original)
+++ incubator/cassandra/trunk/test/unit/org/apache/cassandra/db/TableTest.java 
Fri Aug  7 16:23:42 2009
@@ -315,40 +315,44 @@
         RowMutation rm = new RowMutation("Keyspace1", ROW);
         ColumnFamily cf = ColumnFamily.create("Keyspace1", "Standard1");
         for (int i = 1000; i < 2000; i++)
-            cf.addColumn(column("col" + i, ("vvvvvvvvvvvvvvvv" + i), 1L));
+            cf.addColumn(column("col" + i, ("v" + i), 1L));
         rm.add(cf);
         rm.apply();
         cfStore.forceBlockingFlush();
 
         cf = cfStore.getColumnFamily(ROW, new QueryPath("Standard1"), 
"col1000".getBytes(), ArrayUtils.EMPTY_BYTE_ARRAY, true, 3);
         assertColumns(cf, "col1000", "col1001", "col1002");
-        assertEquals(new String(cf.getColumn("col1000".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1000");
-        assertEquals(new String(cf.getColumn("col1001".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1001");
-        assertEquals(new String(cf.getColumn("col1002".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1002");
+        assertEquals(new String(cf.getColumn("col1000".getBytes()).value()), 
"v1000");
+        assertEquals(new String(cf.getColumn("col1001".getBytes()).value()), 
"v1001");
+        assertEquals(new String(cf.getColumn("col1002".getBytes()).value()), 
"v1002");
 
         cf = cfStore.getColumnFamily(ROW, new QueryPath("Standard1"), 
"col1195".getBytes(), ArrayUtils.EMPTY_BYTE_ARRAY, true, 3);
         assertColumns(cf, "col1195", "col1196", "col1197");
-        assertEquals(new String(cf.getColumn("col1195".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1195");
-        assertEquals(new String(cf.getColumn("col1196".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1196");
-        assertEquals(new String(cf.getColumn("col1197".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1197");
-
-        cf = cfStore.getColumnFamily(ROW, new QueryPath("Standard1"), 
"col1196".getBytes(), ArrayUtils.EMPTY_BYTE_ARRAY, false, 3);
-        assertColumns(cf, "col1194", "col1195", "col1196");
-        assertEquals(new String(cf.getColumn("col1194".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1194");
-        assertEquals(new String(cf.getColumn("col1195".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1195");
-        assertEquals(new String(cf.getColumn("col1196".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1196");
+        assertEquals(new String(cf.getColumn("col1195".getBytes()).value()), 
"v1195");
+        assertEquals(new String(cf.getColumn("col1196".getBytes()).value()), 
"v1196");
+        assertEquals(new String(cf.getColumn("col1197".getBytes()).value()), 
"v1197");
+
+        cf = cfStore.getColumnFamily(ROW, new QueryPath("Standard1"), 
"col1996".getBytes(), ArrayUtils.EMPTY_BYTE_ARRAY, false, 1000);
+        IColumn[] columns = cf.getSortedColumns().toArray(new IColumn[0]);
+        for (int i = 1000; i < 1996; i++)
+        {
+            String expectedName = "col" + i;
+            IColumn column = columns[i - 1000];
+            assert Arrays.equals(column.name(), expectedName.getBytes()) : 
cfStore.getComparator().getString(column.name()) + " is not " + expectedName;
+            assert Arrays.equals(column.value(), ("v" + i).getBytes());
+        }
 
         cf = cfStore.getColumnFamily(ROW, new QueryPath("Standard1"), 
"col1990".getBytes(), ArrayUtils.EMPTY_BYTE_ARRAY, true, 3);
         assertColumns(cf, "col1990", "col1991", "col1992");
-        assertEquals(new String(cf.getColumn("col1990".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1990");
-        assertEquals(new String(cf.getColumn("col1991".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1991");
-        assertEquals(new String(cf.getColumn("col1992".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1992");
+        assertEquals(new String(cf.getColumn("col1990".getBytes()).value()), 
"v1990");
+        assertEquals(new String(cf.getColumn("col1991".getBytes()).value()), 
"v1991");
+        assertEquals(new String(cf.getColumn("col1992".getBytes()).value()), 
"v1992");
 
         cf = cfStore.getColumnFamily(ROW, new QueryPath("Standard1"), 
ArrayUtils.EMPTY_BYTE_ARRAY, ArrayUtils.EMPTY_BYTE_ARRAY, false, 3);
         assertColumns(cf, "col1997", "col1998", "col1999");
-        assertEquals(new String(cf.getColumn("col1999".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1999");
-        assertEquals(new String(cf.getColumn("col1998".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1998");
-        assertEquals(new String(cf.getColumn("col1997".getBytes()).value()), 
"vvvvvvvvvvvvvvvv1997");
+        assertEquals(new String(cf.getColumn("col1999".getBytes()).value()), 
"v1999");
+        assertEquals(new String(cf.getColumn("col1998".getBytes()).value()), 
"v1998");
+        assertEquals(new String(cf.getColumn("col1997".getBytes()).value()), 
"v1997");
     }
 
     @Test


Reply via email to