package com.orbitz.monitoring.lib.decomposer;
import junit.framework.TestCase;
import java.util.HashSet;
import java.util.IdentityHashMap;
import java.util.List;
import java.util.Set;
/**
* Unit test for <code>SetDecomposer</code>.
*
* <p>(c) 2000-04 Orbitz, LLC. All Rights Reserved.
*
* @author Doug Barth
*/
public class SetDecomposerTest extends TestCase {
// ** PRIVATE DATA ********************************************************
private SetDecomposer _decomposer;
private MockDecomposerStep _delegate;
// ** TEST SUITE METHODS **************************************************
protected void setUp()
throws Exception {
super.setUp();
_delegate = new MockDecomposerStep();
_decomposer = new SetDecomposer(_delegate);
}
// ** TEST METHODS ********************************************************
public void testDecomposeNull() {
assertNull(_decomposer.decompose(null, new IdentityHashMap()));
}
public void testDecompose() {
Set original = new HashSet();
original.add("foo");
original.add(new Exception());
Set decomposed = (Set) _decomposer.decompose(original, new IdentityHashMap());
assertEquals(original.size(), decomposed.size());
List decomposedObjects = _delegate.getDecomposedObjects();
assertTrue(decomposedObjects.containsAll(original));
}
}