package test.propagation.impl;

import junit.framework.TestCase;
import propagation.Node;
import propagation.StateItem;
import propagation.impl.NodeImpl;
import propagation.impl.StateItemImpl;

public class NodeImplTest extends TestCase {
   private Node node_;

   protected void setUp() throws Exception {
      node_ = new NodeImpl();
   }

   /*
    * Test method for 'propagation.impl.NodeImpl.findStateItem(long)'
    */
   public void testFindStateItem() {
      StateItem[] stateItems_ = new StateItem[5];
      stateItems_[0] = new StateItemImpl(123);
      stateItems_[1] = new StateItemImpl(850884);
      stateItems_[2] = new StateItemImpl(35);
      stateItems_[3] = new StateItemImpl(38910);
      stateItems_[4] = new StateItemImpl(5230);

      for (int idx = 0; idx < stateItems_.length; idx++) {
         node_.addStateItem(stateItems_[idx]);
      }

      assertEquals(stateItems_[0], node_.findStateItem(stateItems_[0].getItemId()));
      assertEquals(stateItems_[1], node_.findStateItem(stateItems_[1].getItemId()));
      assertEquals(stateItems_[2], node_.findStateItem(stateItems_[2].getItemId()));
      assertEquals(stateItems_[3], node_.findStateItem(stateItems_[3].getItemId()));
      assertEquals(stateItems_[4], node_.findStateItem(stateItems_[4].getItemId()));

      assertNull(node_.findStateItem(9876));
   }
}
