/*
* Copyright 2001-2013 Geert Bevin (gbevin[remove] at uwyn dot com)
* Licensed under the Apache License, Version 2.0 (the "License")
*/
package com.uwyn.rife.datastructures;
import junit.framework.TestCase;
public class TestKeyValue extends TestCase
{
public TestKeyValue(String name)
{
super(name);
}
public void testInstantiation()
{
KeyValue keyvalue = new KeyValue("key", "value");
assertNotNull(keyvalue);
assertEquals(keyvalue.getKey(), "key");
assertEquals(keyvalue.getValue(), "value");
}
public void testAccessors()
{
KeyValue keyvalue = new KeyValue("key", "value");
assertEquals(keyvalue.getKey(), "key");
assertEquals(keyvalue.getValue(), "value");
keyvalue.setKey("key2");
keyvalue.setValue("value2");
assertEquals(keyvalue.getKey(), "key2");
assertEquals(keyvalue.getValue(), "value2");
}
public void testEquals()
{
KeyValue keyvalue1 = new KeyValue("key1", "value1");
KeyValue keyvalue2 = new KeyValue("key1", "value1");
KeyValue keyvalue3 = new KeyValue("key2", "value2");
KeyValue keyvalue4 = new KeyValue("key1", null);
KeyValue keyvalue5 = new KeyValue("key2", null);
KeyValue keyvalue6 = new KeyValue("key2", null);
KeyValue keyvalue7 = new KeyValue(null, "value1");
KeyValue keyvalue8 = new KeyValue(null, "value2");
KeyValue keyvalue9 = new KeyValue(null, "value2");
KeyValue keyvalue10 = new KeyValue(null, null);
KeyValue keyvalue11 = new KeyValue(null, null);
assertFalse(keyvalue1.equals("key1"));
assertFalse(keyvalue1.equals("value1"));
assertFalse(keyvalue1.equals(null));
assertTrue(keyvalue1.equals(keyvalue1));
assertTrue(keyvalue1.equals(keyvalue2));
assertFalse(keyvalue1.equals(keyvalue3));
assertFalse(keyvalue1.equals(keyvalue4));
assertFalse(keyvalue1.equals(keyvalue5));
assertFalse(keyvalue1.equals(keyvalue6));
assertFalse(keyvalue1.equals(keyvalue7));
assertFalse(keyvalue1.equals(keyvalue8));
assertFalse(keyvalue1.equals(keyvalue9));
assertFalse(keyvalue1.equals(keyvalue10));
assertFalse(keyvalue1.equals(keyvalue11));
assertTrue(keyvalue2.equals(keyvalue2));
assertFalse(keyvalue2.equals(keyvalue3));
assertFalse(keyvalue2.equals(keyvalue4));
assertFalse(keyvalue2.equals(keyvalue5));
assertFalse(keyvalue2.equals(keyvalue6));
assertFalse(keyvalue2.equals(keyvalue7));
assertFalse(keyvalue2.equals(keyvalue8));
assertFalse(keyvalue2.equals(keyvalue9));
assertFalse(keyvalue2.equals(keyvalue10));
assertFalse(keyvalue2.equals(keyvalue11));
assertTrue(keyvalue3.equals(keyvalue3));
assertFalse(keyvalue3.equals(keyvalue4));
assertFalse(keyvalue3.equals(keyvalue5));
assertFalse(keyvalue3.equals(keyvalue6));
assertFalse(keyvalue3.equals(keyvalue7));
assertFalse(keyvalue3.equals(keyvalue8));
assertFalse(keyvalue3.equals(keyvalue9));
assertFalse(keyvalue3.equals(keyvalue10));
assertFalse(keyvalue3.equals(keyvalue11));
assertTrue(keyvalue4.equals(keyvalue4));
assertFalse(keyvalue4.equals(keyvalue5));
assertFalse(keyvalue4.equals(keyvalue6));
assertFalse(keyvalue4.equals(keyvalue7));
assertFalse(keyvalue4.equals(keyvalue8));
assertFalse(keyvalue4.equals(keyvalue9));
assertFalse(keyvalue4.equals(keyvalue10));
assertFalse(keyvalue4.equals(keyvalue11));
assertTrue(keyvalue5.equals(keyvalue5));
assertTrue(keyvalue5.equals(keyvalue6));
assertFalse(keyvalue5.equals(keyvalue7));
assertFalse(keyvalue5.equals(keyvalue8));
assertFalse(keyvalue5.equals(keyvalue9));
assertFalse(keyvalue5.equals(keyvalue10));
assertFalse(keyvalue5.equals(keyvalue11));
assertTrue(keyvalue6.equals(keyvalue6));
assertFalse(keyvalue6.equals(keyvalue7));
assertFalse(keyvalue6.equals(keyvalue8));
assertFalse(keyvalue6.equals(keyvalue9));
assertFalse(keyvalue6.equals(keyvalue10));
assertFalse(keyvalue6.equals(keyvalue11));
assertTrue(keyvalue7.equals(keyvalue7));
assertFalse(keyvalue7.equals(keyvalue8));
assertFalse(keyvalue7.equals(keyvalue9));
assertFalse(keyvalue7.equals(keyvalue10));
assertFalse(keyvalue7.equals(keyvalue11));
assertTrue(keyvalue8.equals(keyvalue8));
assertTrue(keyvalue8.equals(keyvalue9));
assertFalse(keyvalue8.equals(keyvalue10));
assertFalse(keyvalue8.equals(keyvalue11));
assertTrue(keyvalue9.equals(keyvalue9));
assertFalse(keyvalue9.equals(keyvalue10));
assertFalse(keyvalue9.equals(keyvalue11));
assertTrue(keyvalue10.equals(keyvalue10));
assertTrue(keyvalue10.equals(keyvalue11));
assertTrue(keyvalue11.equals(keyvalue11));
}
public void testClone()
{
KeyValue keyvalue1 = new KeyValue("key1", "value1");
KeyValue keyvalue2 = new KeyValue("key1", null);
KeyValue keyvalue3 = new KeyValue(null, "value1");
KeyValue keyvalue4 = new KeyValue(null, null);
KeyValue keyvalue1_clone = keyvalue1.clone();
KeyValue keyvalue2_clone = keyvalue2.clone();
KeyValue keyvalue3_clone = keyvalue3.clone();
KeyValue keyvalue4_clone = keyvalue4.clone();
assertTrue(keyvalue1.equals(keyvalue1_clone));
assertTrue(keyvalue2.equals(keyvalue2_clone));
assertTrue(keyvalue3.equals(keyvalue3_clone));
assertTrue(keyvalue4.equals(keyvalue4_clone));
}
public void testHashCode()
{
KeyValue keyvalue1 = new KeyValue("key", "value");
KeyValue keyvalue2 = new KeyValue("key", "value");
KeyValue keyvalue3 = new KeyValue("key2", "value2");
assertEquals(keyvalue1.hashCode(), keyvalue1.hashCode());
assertEquals(keyvalue2.hashCode(), keyvalue2.hashCode());
assertTrue(keyvalue1.hashCode() == keyvalue2.hashCode() || keyvalue1.equals(keyvalue2));
assertTrue(keyvalue1.hashCode() != keyvalue3.hashCode() || !keyvalue1.equals(keyvalue3));
assertTrue(keyvalue2.hashCode() != keyvalue3.hashCode() || !keyvalue2.equals(keyvalue3));
}
public void testToString()
{
KeyValue keyvalue = new KeyValue("key", "value");
assertEquals("value", keyvalue.toString());
}
}