co.nubetech.hiho.dedup.TestHashUtility.java Source code

Java tutorial

Introduction

Here is the source code for co.nubetech.hiho.dedup.TestHashUtility.java

Source

/**
 * Copyright 2011 Nube Technologies
 *
 * 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 co.nubetech.hiho.dedup;

import static org.junit.Assert.assertEquals;

import java.io.IOException;

import org.apache.hadoop.io.ArrayWritable;
import org.apache.hadoop.io.BooleanWritable;
import org.apache.hadoop.io.ByteWritable;
import org.apache.hadoop.io.BytesWritable;
import org.apache.hadoop.io.DoubleWritable;
import org.apache.hadoop.io.FloatWritable;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.MD5Hash;
import org.apache.hadoop.io.Text;
import org.junit.Test;

public class TestHashUtility {

    @Test
    public void testMD5HashForTextValueValue() throws IOException {
        Text key = new Text("abc2hf123");
        MD5Hash md5HashKey1 = HashUtility.getMD5Hash(key);
        MD5Hash md5HashKey2 = HashUtility.getMD5Hash(key);
        assertEquals(md5HashKey1, md5HashKey2);
    }

    @Test
    public void testMD5HashForStringValue() throws IOException {
        String key = new String("abc2hf123");
        MD5Hash md5HashKey1 = HashUtility.getMD5Hash(key);
        MD5Hash md5HashKey2 = HashUtility.getMD5Hash(key);
        assertEquals(md5HashKey1, md5HashKey2);
    }

    @Test
    public void testMD5HashForLongWritableKey() throws IOException {
        LongWritable key = new LongWritable(Long.parseLong("123"));
        MD5Hash md5HashKey1 = HashUtility.getMD5Hash(key);
        MD5Hash md5HashKey2 = HashUtility.getMD5Hash(key);
        assertEquals(md5HashKey1, md5HashKey2);
    }

    @Test
    public void testMD5HashForBytesWritableKey() throws IOException {
        BytesWritable key = new BytesWritable("abc123".getBytes());
        MD5Hash md5HashKey1 = HashUtility.getMD5Hash(key);
        MD5Hash md5HashKey2 = HashUtility.getMD5Hash(key);
        assertEquals(md5HashKey1, md5HashKey2);
    }

    @Test
    public void testMD5HashForIntWritableKey() throws IOException {
        IntWritable key = new IntWritable(123);
        MD5Hash md5HashKey1 = HashUtility.getMD5Hash(key);
        MD5Hash md5HashKey2 = HashUtility.getMD5Hash(key);
        assertEquals(md5HashKey1, md5HashKey2);
    }

    @Test
    public void testMD5HashForArrayWritableKey() throws IOException {
        ArrayWritable key = new ArrayWritable(new String[] { "abc123" });
        MD5Hash md5HashKey1 = HashUtility.getMD5Hash(key);
        MD5Hash md5HashKey2 = HashUtility.getMD5Hash(key);
        assertEquals(md5HashKey1, md5HashKey2);
    }

    @Test
    public void testMD5HashForBooleanWritableKey() throws IOException {
        BooleanWritable key = new BooleanWritable(true);
        MD5Hash md5HashKey1 = HashUtility.getMD5Hash(key);
        MD5Hash md5HashKey2 = HashUtility.getMD5Hash(key);
        assertEquals(md5HashKey1, md5HashKey2);
    }

    @Test
    public void testMD5HashForFloatWritableKey() throws IOException {
        FloatWritable key = new FloatWritable(1.025f);
        MD5Hash md5HashKey1 = HashUtility.getMD5Hash(key);
        MD5Hash md5HashKey2 = HashUtility.getMD5Hash(key);
        assertEquals(md5HashKey1, md5HashKey2);
    }

    @Test
    public void testMD5HashForByteWritableKey() throws IOException {
        ByteWritable key = new ByteWritable(new Byte("123"));
        MD5Hash md5HashKey1 = HashUtility.getMD5Hash(key);
        MD5Hash md5HashKey2 = HashUtility.getMD5Hash(key);
        assertEquals(md5HashKey1, md5HashKey2);
    }

    @Test
    public void testMD5HashForDoubleWritableKey() throws IOException {
        DoubleWritable key = new DoubleWritable(123d);
        MD5Hash md5HashKey1 = HashUtility.getMD5Hash(key);
        MD5Hash md5HashKey2 = HashUtility.getMD5Hash(key);
        assertEquals(md5HashKey1, md5HashKey2);
    }
}