001    package aima.test.search;
002    
003    import java.util.ArrayList;
004    import java.util.List;
005    
006    import junit.framework.TestCase;
007    import aima.datastructures.FIFOQueue;
008    
009    /**
010     * @author Ravi Mohan
011     * 
012     */
013    
014    public class FIFOQueueTest extends TestCase {
015    
016            public void testFifoQueue() {
017                    FIFOQueue queue = new FIFOQueue();
018                    assertTrue(queue.isEmpty());
019    
020                    queue.add("Hello");
021                    assertEquals(1, queue.size());
022                    assertFalse(queue.isEmpty());
023    
024                    queue.add("Hi");
025                    assertEquals(2, queue.size());
026                    assertFalse(queue.isEmpty());
027    
028                    String s = (String) queue.remove();
029                    assertEquals("Hello", s);
030                    assertEquals(1, queue.size());
031                    assertEquals("Hi", queue.get());
032    
033                    List<String> l = new ArrayList<String>();
034                    l.add("bonjour");
035                    l.add("salaam alaikum");
036                    queue.add(l);
037                    assertEquals(3, queue.size());
038                    assertEquals("Hi", queue.remove());
039                    assertEquals("bonjour", queue.get());
040    
041                    queue.add(l);
042    
043            }
044    
045    }