aboutsummaryrefslogtreecommitdiffstats
path: root/guava-tests/test/com/google/common/hash/AbstractByteHasherTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'guava-tests/test/com/google/common/hash/AbstractByteHasherTest.java')
-rw-r--r--guava-tests/test/com/google/common/hash/AbstractByteHasherTest.java140
1 files changed, 0 insertions, 140 deletions
diff --git a/guava-tests/test/com/google/common/hash/AbstractByteHasherTest.java b/guava-tests/test/com/google/common/hash/AbstractByteHasherTest.java
deleted file mode 100644
index 53a55a5..0000000
--- a/guava-tests/test/com/google/common/hash/AbstractByteHasherTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2012 The Guava Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.google.common.hash;
-
-import static com.google.common.base.Charsets.UTF_16LE;
-import static org.junit.Assert.assertArrayEquals;
-
-import junit.framework.TestCase;
-
-import java.io.ByteArrayOutputStream;
-import java.util.Random;
-
-/**
- * Tests for AbstractByteHasher.
- *
- * @author Colin Decker
- */
-public class AbstractByteHasherTest extends TestCase {
-
- public void testBytes() {
- TestHasher hasher = new TestHasher(); // byte order insignificant here
- byte[] expected = {1, 2, 3, 4, 5, 6, 7, 8};
- hasher.putByte((byte) 1);
- hasher.putBytes(new byte[]{2, 3, 4, 5, 6});
- hasher.putByte((byte) 7);
- hasher.putBytes(new byte[]{});
- hasher.putBytes(new byte[]{8});
- hasher.assertBytes(expected);
- }
-
- public void testShort() {
- TestHasher hasher = new TestHasher();
- hasher.putShort((short) 0x0201);
- hasher.assertBytes(new byte[]{1, 2});
- }
-
- public void testInt() {
- TestHasher hasher = new TestHasher();
- hasher.putInt(0x04030201);
- hasher.assertBytes(new byte[]{1, 2, 3, 4});
- }
-
- public void testLong() {
- TestHasher hasher = new TestHasher();
- hasher.putLong(0x0807060504030201L);
- hasher.assertBytes(new byte[]{1, 2, 3, 4, 5, 6, 7, 8});
- }
-
- public void testChar() {
- TestHasher hasher = new TestHasher();
- hasher.putChar((char) 0x0201);
- hasher.assertBytes(new byte[]{1, 2});
- }
-
- public void testString() {
- Random random = new Random();
- for (int i = 0; i < 100; i++) {
- byte[] bytes = new byte[64];
- random.nextBytes(bytes);
- String s = new String(bytes, UTF_16LE); // so all random strings are valid
- assertEquals(
- new TestHasher().putString(s).hash(),
- new TestHasher().putBytes(s.getBytes(UTF_16LE)).hash());
- assertEquals(
- new TestHasher().putString(s).hash(),
- new TestHasher().putString(s, UTF_16LE).hash());
- }
- }
-
- public void testFloat() {
- TestHasher hasher = new TestHasher();
- hasher.putFloat(Float.intBitsToFloat(0x04030201));
- hasher.assertBytes(new byte[]{1, 2, 3, 4});
- }
-
- public void testDouble() {
- TestHasher hasher = new TestHasher();
- hasher.putDouble(Double.longBitsToDouble(0x0807060504030201L));
- hasher.assertBytes(new byte[]{1, 2, 3, 4, 5, 6, 7, 8});
- }
-
- public void testCorrectExceptions() {
- TestHasher hasher = new TestHasher();
- try {
- hasher.putBytes(new byte[8], -1, 4);
- fail();
- } catch (IndexOutOfBoundsException expected) {
- }
- try {
- hasher.putBytes(new byte[8], 0, 16);
- fail();
- } catch (IndexOutOfBoundsException expected) {
- }
- try {
- hasher.putBytes(new byte[8], 0, -1);
- fail();
- } catch (IndexOutOfBoundsException expected) {
- }
- }
-
- private class TestHasher extends AbstractByteHasher {
-
- private final ByteArrayOutputStream out = new ByteArrayOutputStream();
-
- @Override
- protected void update(byte b) {
- out.write(b);
- }
-
- @Override
- protected void update(byte[] b, int off, int len) {
- out.write(b, off, len);
- }
-
- byte[] bytes() {
- return out.toByteArray();
- }
-
- void assertBytes(byte[] expected) {
- assertArrayEquals(expected, bytes());
- }
-
- @Override
- public HashCode hash() {
- return HashCodes.fromBytesNoCopy(bytes());
- }
- }
-}