package com.nimbusds.jose;
import junit.framework.TestCase;
/**
* Tests the base Algorithm class.
*
* @author Vladimir Dzhuvinov
* @version $version$ (2012-09-26)
*/
public class AlgorithmTest extends TestCase {
public void testNoneConstant() {
assertEquals("none", Algorithm.NONE.getName());
assertEquals(Requirement.REQUIRED, Algorithm.NONE.getRequirement());
assertEquals(Algorithm.NONE, new Algorithm("none", Requirement.REQUIRED));
}
public void testMinimalConstructor() {
Algorithm alg = new Algorithm("my-alg");
assertEquals("my-alg", alg.getName());
assertEquals("my-alg", alg.toString());
assertNull(alg.getRequirement());
}
public void testFullContructor() {
Algorithm alg = new Algorithm("my-alg", Requirement.OPTIONAL);
assertEquals("my-alg", alg.getName());
assertEquals("my-alg", alg.toString());
assertEquals(Requirement.OPTIONAL, alg.getRequirement());
}
public void testEquality() {
Algorithm alg1 = new Algorithm("my-alg");
Algorithm alg2 = new Algorithm("my-alg");
assertTrue(alg1.equals(alg2));
}
public void testEqualityDifferentRequirementLevels() {
Algorithm alg1 = new Algorithm("my-alg", Requirement.REQUIRED);
Algorithm alg2 = new Algorithm("my-alg", Requirement.OPTIONAL);
assertTrue(alg1.equals(alg2));
}
public void testInequality() {
Algorithm alg1 = new Algorithm("my-alg");
Algorithm alg2 = new Algorithm("your-alg");
assertFalse(alg1.equals(alg2));
}
public void testHashCode() {
Algorithm alg1 = new Algorithm("my-alg");
Algorithm alg2 = new Algorithm("my-alg");
assertEquals(alg1.hashCode(), alg2.hashCode());
}
}