diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java
index fe645bb469f..a31a6737bb1 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java
@@ -17,8 +17,10 @@
*/
package org.apache.hadoop.hbase;
+import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@@ -49,6 +51,8 @@ import org.junit.rules.TestName;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.apache.hbase.thirdparty.com.google.common.collect.Iterables;
+
/**
* Port of old TestScanMultipleVersions, TestTimestamp and TestGetRowVersions
* from old testing framework to {@link HBaseTestingUtility}.
@@ -125,6 +129,7 @@ public class TestMultiVersions {
/**
* Verifies versions across a cluster restart.
+ *
* Port of old TestGetRowVersions test to here so can better utilize the spun
* up cluster running more than a single test per spin up. Keep old tests'
* crazyness.
@@ -165,26 +170,26 @@ public class TestMultiVersions {
Result r = table.get(get);
assertNotNull(r);
assertFalse(r.isEmpty());
- assertTrue(r.size() == 1);
+ assertEquals(1, r.size());
byte [] value = r.getValue(contents, contents);
- assertTrue(value.length != 0);
+ assertNotEquals(0, value.length);
assertTrue(Bytes.equals(value, value2));
// Now check getRow with multiple versions
get = new Get(row);
get.setMaxVersions();
r = table.get(get);
- assertTrue(r.size() == 2);
+ assertEquals(2, r.size());
value = r.getValue(contents, contents);
- assertTrue(value.length != 0);
- assertTrue(Bytes.equals(value, value2));
+ assertNotEquals(0, value.length);
+ assertArrayEquals(value, value2);
NavigableMap>> map =
r.getMap();
NavigableMap> familyMap =
map.get(contents);
NavigableMap versionMap = familyMap.get(contents);
- assertTrue(versionMap.size() == 2);
- assertTrue(Bytes.equals(value1, versionMap.get(timestamp1)));
- assertTrue(Bytes.equals(value2, versionMap.get(timestamp2)));
+ assertEquals(2, versionMap.size());
+ assertArrayEquals(value1, versionMap.get(timestamp1));
+ assertArrayEquals(value2, versionMap.get(timestamp2));
table.close();
}
@@ -218,11 +223,11 @@ public class TestMultiVersions {
for (int i = 0; i < startKeys.length; i++) {
if (i == 0) {
- assertTrue(Bytes.equals(HConstants.EMPTY_START_ROW, startKeys[i]));
- assertTrue(Bytes.equals(endKeys[i], splitRows[0]));
+ assertArrayEquals(HConstants.EMPTY_START_ROW, startKeys[i]);
+ assertArrayEquals(endKeys[i], splitRows[0]);
} else if (i == 1) {
- assertTrue(Bytes.equals(splitRows[0], startKeys[i]));
- assertTrue(Bytes.equals(endKeys[i], HConstants.EMPTY_END_ROW));
+ assertArrayEquals(splitRows[0], startKeys[i]);
+ assertArrayEquals(endKeys[i], HConstants.EMPTY_END_ROW);
}
}
// Insert data
@@ -242,100 +247,59 @@ public class TestMultiVersions {
get.addFamily(HConstants.CATALOG_FAMILY);
get.setTimestamp(timestamp[j]);
Result result = table.get(get);
- int cellCount = 0;
- for(@SuppressWarnings("unused")Cell kv : result.listCells()) {
- cellCount++;
- }
- assertTrue(cellCount == 1);
+ int cellCount = result.rawCells().length;
+ assertEquals(1, cellCount);
}
}
// Case 1: scan with LATEST_TIMESTAMP. Should get two rows
- int count = 0;
+ int count;
Scan scan = new Scan();
scan.addFamily(HConstants.CATALOG_FAMILY);
- ResultScanner s = table.getScanner(scan);
- try {
- for (Result rr = null; (rr = s.next()) != null;) {
- System.out.println(rr.toString());
- count += 1;
- }
- assertEquals("Number of rows should be 2", 2, count);
- } finally {
- s.close();
+ try (ResultScanner s = table.getScanner(scan)) {
+ count = Iterables.size(s);
}
+ assertEquals("Number of rows should be 2", 2, count);
// Case 2: Scan with a timestamp greater than most recent timestamp
// (in this case > 1000 and < LATEST_TIMESTAMP. Should get 2 rows.
-
- count = 0;
scan = new Scan();
scan.setTimeRange(1000L, Long.MAX_VALUE);
scan.addFamily(HConstants.CATALOG_FAMILY);
-
- s = table.getScanner(scan);
- try {
- while (s.next() != null) {
- count += 1;
- }
- assertEquals("Number of rows should be 2", 2, count);
- } finally {
- s.close();
+ try (ResultScanner s = table.getScanner(scan)) {
+ count = Iterables.size(s);
}
+ assertEquals("Number of rows should be 2", 2, count);
// Case 3: scan with timestamp equal to most recent timestamp
// (in this case == 1000. Should get 2 rows.
-
- count = 0;
scan = new Scan();
scan.setTimestamp(1000L);
scan.addFamily(HConstants.CATALOG_FAMILY);
-
- s = table.getScanner(scan);
- try {
- while (s.next() != null) {
- count += 1;
- }
- assertEquals("Number of rows should be 2", 2, count);
- } finally {
- s.close();
+ try (ResultScanner s = table.getScanner(scan)) {
+ count = Iterables.size(s);
}
+ assertEquals("Number of rows should be 2", 2, count);
// Case 4: scan with timestamp greater than first timestamp but less than
// second timestamp (100 < timestamp < 1000). Should get 2 rows.
-
- count = 0;
scan = new Scan();
scan.setTimeRange(100L, 1000L);
scan.addFamily(HConstants.CATALOG_FAMILY);
-
- s = table.getScanner(scan);
- try {
- while (s.next() != null) {
- count += 1;
- }
- assertEquals("Number of rows should be 2", 2, count);
- } finally {
- s.close();
+ try (ResultScanner s = table.getScanner(scan)) {
+ count = Iterables.size(s);
}
+ assertEquals("Number of rows should be 2", 2, count);
// Case 5: scan with timestamp equal to first timestamp (100)
// Should get 2 rows.
-
- count = 0;
scan = new Scan();
scan.setTimestamp(100L);
scan.addFamily(HConstants.CATALOG_FAMILY);
-
- s = table.getScanner(scan);
- try {
- while (s.next() != null) {
- count += 1;
- }
- assertEquals("Number of rows should be 2", 2, count);
- } finally {
- s.close();
+ try (ResultScanner s = table.getScanner(scan)) {
+ count = Iterables.size(s);
}
+ assertEquals("Number of rows should be 2", 2, count);
}
}