001    package rac.test;
002    
003    import rac.*;
004    import rac.visitor.*;
005    
006    import junit.framework.TestCase;
007    
008    /**
009     * Test case of IsEmpty.
010     * @author Mathias Ricken - Copyright 2008 - All rights reserved.
011     */
012    public class Test_IsEmpty extends TestCase {
013    
014      public void test_RAC() {
015        IRACFactory<String> racFac = new LRSStackFactory<String>();
016        IRAContainer<String> rac = racFac.makeRAC();
017        IsEmpty<String> isEmpty = new IsEmpty<String>();
018        
019        assertEquals("Empty RAC:", Boolean.TRUE, rac.execute(isEmpty));
020        
021        rac.put("abc");
022        assertEquals("Non-empty RAC:", Boolean.FALSE, rac.execute(isEmpty));
023        
024        rac.put("def");
025        assertEquals("Non-empty RAC:", Boolean.FALSE, rac.execute(isEmpty));
026    
027        rac.get();
028        assertEquals("Non-empty RAC:", Boolean.FALSE, rac.execute(isEmpty));
029        
030        rac.get();
031        assertEquals("Empty RAC:", Boolean.TRUE, rac.execute(isEmpty));
032      }
033      
034    }