/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.datamanagement.commons;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import java.util.Iterator;
import org.junit.Before;
import org.junit.Test;
/**
* Test cases for {@link MetaDataSet}.
*
* @author Juergen Klein
*/
public class MetaDataSetTest {
private final MetaData metaData1 = new MetaData("TestKey1", false);
private final MetaData metaData2 = new MetaData("TestKey2", false);
private final MetaData metaData3 = new MetaData("TestKey3", false);
private final String value1 = "TestValue1";
private final String value2 = "TestValue2";
private final String value3 = "TestValue3";
private MetaDataSet metaDataSet;
/** Set up. */
@Before
public void setUp() {
metaDataSet = new MetaDataSet();
metaDataSet.setValue(metaData1, value1);
metaDataSet.setValue(metaData2, value2);
}
/** Test. */
@Test
public void testHashCode() {
int hashCode1 = metaDataSet.hashCode();
metaDataSet.setValue(metaData1, value3);
assertFalse(hashCode1 == metaDataSet.hashCode());
}
/** Test. */
@Test
public void testMetaDataSet() {
new MetaDataSet();
}
/** Test. */
@Test
public void testGetValue() {
String value = metaDataSet.getValue(metaData1);
assertEquals(value1, value);
value = metaDataSet.getValue(metaData2);
assertEquals(value2, value);
}
/** Test. */
@Test
public void testSetValue() {
metaDataSet.setValue(metaData3, value3);
String value = metaDataSet.getValue(metaData3);
assertEquals(value3, value);
}
/** Test. */
@Test
public void testRemove() {
metaDataSet.remove(MetaData.AUTHOR);
metaDataSet.setValue(metaData3, value3);
assertNotNull(metaDataSet.getValue(metaData3));
metaDataSet.remove(metaData3);
assertNull(metaDataSet.getValue(metaData3));
}
/** Test. */
@Test
public void testIterator() {
metaDataSet.setValue(metaData3, value3);
Iterator<MetaData> iterator = metaDataSet.iterator();
assertNotNull(iterator);
assertTrue(iterator.hasNext());
iterator.next();
assertTrue(iterator.hasNext());
iterator.next();
assertTrue(iterator.hasNext());
iterator.next();
assertFalse(iterator.hasNext());
}
/** Test. */
@Test
public void testClone() {
MetaDataSet clone = metaDataSet.clone();
assertNotSame(metaDataSet, clone);
assertEquals(value1, clone.getValue(metaData1));
assertEquals(value2, clone.getValue(metaData2));
}
/** Test. */
@Test
public void testIsEmpty() {
assertFalse(metaDataSet.isEmpty());
assertTrue(new MetaDataSet().isEmpty());
}
/** Test. */
@Test
public void testEquals() {
assertTrue(metaDataSet.equals(metaDataSet));
MetaDataSet mds = new MetaDataSet();
mds.setValue(metaData1, value1);
mds.setValue(metaData2, value2);
assertTrue(metaDataSet.equals(mds));
assertTrue(mds.equals(metaDataSet));
MetaDataSet clone = metaDataSet.clone();
clone.setValue(metaData3, value3);
assertFalse(clone.equals(metaDataSet));
assertFalse(metaDataSet.equals(null));
assertFalse(metaDataSet.equals(new MetaDataSetTest()));
}
/** Test. */
@Test
public void testToString() {
metaDataSet.toString();
}
}