blob: 4504f752c6b6c7aeaf17e945b2c6a26476c05797 [file] [log] [blame]
/*
* Copyright 2013-present Facebook, Inc.
*
* 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.facebook.buck.rules;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import com.google.common.base.Objects;
import com.google.common.base.Strings;
import org.junit.Test;
public class Sha1HashCodeTest {
@Test
public void testSha1HashCodeGetHash() {
Sha1HashCode hash = new Sha1HashCode("a002b39af204cdfaa5fdb67816b13867c32ac52c");
assertEquals("a002b39af204cdfaa5fdb67816b13867c32ac52c", hash.getHash());
assertEquals("toString() and getHash() should match.", hash.toString(), hash.getHash());
}
@Test(expected = NullPointerException.class)
public void testSha1HashCodeRejectsNull() {
new Sha1HashCode(null);
}
@Test(expected = IllegalArgumentException.class)
public void testConstructorParamMustBe40Chars() {
new Sha1HashCode(Strings.repeat("a", 39));
}
@Test(expected = IllegalArgumentException.class)
public void testConstructorParamMustMatchCharSet() {
new Sha1HashCode(Strings.repeat("A", 40));
}
@Test
public void testSha1HashCodeSatisfiesEqualsContract() {
Sha1HashCode hash = new Sha1HashCode("a002b39af204cdfaa5fdb67816b13867c32ac52c");
assertFalse(hash.equals(null));
assertFalse(hash.equals(new Object()));
assertEquals(hash, new Sha1HashCode("a002b39af204cdfaa5fdb67816b13867c32ac52c"));
}
@Test
public void testNotEqualWhenHashesAreNotEqual() {
Sha1HashCode hash1 = new Sha1HashCode("a002b39af204cdfaa5fdb67816b13867c32ac52c");
Sha1HashCode hash2 = new Sha1HashCode("a550e4c6dba0dd24920cb7cbbe7f599b581c69d9");
assertFalse(hash1.equals(hash2));
}
@Test
public void testSha1HashCode() {
Sha1HashCode hash = new Sha1HashCode("a002b39af204cdfaa5fdb67816b13867c32ac52c");
assertEquals(Objects.hashCode("a002b39af204cdfaa5fdb67816b13867c32ac52c"), hash.hashCode());
}
}