1 package test.prefuse.data.expression; 2 3 import junit.framework.TestCase; 4 import prefuse.data.Table; 5 import prefuse.data.expression.IfExpression; 6 import prefuse.data.expression.Predicate; 7 import prefuse.data.expression.parser.ExpressionParser; 8 import prefuse.util.PredicateChain; 9 import test.prefuse.data.TableTest; 10 11 public class PredicateChainTest extends TestCase { 12 13 private PredicateChain m_chain; 14 private Table m_table; 15 16 private Predicate p1, p2, p3; 17 18 protected void setUp() throws Exception { 19 m_table = TableTest.getTestCaseTable(); 20 21 p1 = (Predicate)ExpressionParser.parse("id=3"); 22 p2 = (Predicate)ExpressionParser.parse("float<2"); 23 p3 = (Predicate)ExpressionParser.parse("id>3"); 24 25 m_chain = new PredicateChain(); 26 m_chain.add(p1, new Integer (1)); 27 m_chain.add(p2, new Integer (2)); 28 m_chain.add(p3, new Integer (3)); 29 } 30 31 protected void tearDown() throws Exception { 32 m_chain = null; 33 m_table = null; 34 p1 = null; 35 p2 = null; 36 p3 = null; 37 } 38 39 42 public void testGet() { 43 assertEquals(new Integer (1), m_chain.get(m_table.getTuple(2))); 44 assertEquals(new Integer (2), m_chain.get(m_table.getTuple(0))); 45 assertEquals(new Integer (3), m_chain.get(m_table.getTuple(3))); 46 assertEquals(null, m_chain.get(m_table.getTuple(1))); 47 } 48 49 52 public void testAdd() { 53 Predicate p = (Predicate)ExpressionParser.parse("id=2"); 54 m_chain.add(p, new Integer (4)); 55 assertEquals(new Integer (4), m_chain.get(m_table.getTuple(1))); 56 } 57 58 61 public void testRemove() { 62 assertTrue(m_chain.getExpression() instanceof IfExpression); 63 assertTrue(m_chain.remove(p1)); 64 assertEquals(new Integer (2), m_chain.get(m_table.getTuple(2))); 65 66 assertTrue(m_chain.getExpression() instanceof IfExpression); 67 assertTrue(m_chain.remove(p2)); 68 assertEquals(null, m_chain.get(m_table.getTuple(0))); 69 assertEquals(null, m_chain.get(m_table.getTuple(1))); 70 assertEquals(null, m_chain.get(m_table.getTuple(2))); 71 72 assertTrue(m_chain.getExpression() instanceof IfExpression); 73 assertTrue(m_chain.remove(p3)); 74 assertEquals(null, m_chain.get(m_table.getTuple(3))); 75 76 assertFalse(m_chain.getExpression() instanceof IfExpression); 77 assertFalse(m_chain.remove(p1)); 78 assertFalse(m_chain.remove(p2)); 79 assertFalse(m_chain.remove(p3)); 80 } 81 82 85 public void testClear() { 86 assertTrue(m_chain.getExpression() instanceof IfExpression); 87 m_chain.clear(); 88 assertEquals(null, m_chain.get(m_table.getTuple(0))); 89 assertEquals(null, m_chain.get(m_table.getTuple(1))); 90 assertEquals(null, m_chain.get(m_table.getTuple(2))); 91 assertEquals(null, m_chain.get(m_table.getTuple(3))); 92 assertFalse(m_chain.getExpression() instanceof IfExpression); 93 assertFalse(m_chain.remove(p1)); 94 assertFalse(m_chain.remove(p2)); 95 assertFalse(m_chain.remove(p3)); 96 } 97 98 public void testRemove2() { 99 PredicateChain pc = new PredicateChain(); 100 Predicate p1 = (Predicate) ExpressionParser.parse("_fixed"); 101 Predicate p2 = (Predicate) ExpressionParser.parse("_highlight"); 102 pc.add(p1, new Integer (1)); 103 pc.add(p2, new Integer (2)); 104 assertTrue(pc.remove(p2)); 105 } 106 107 } 108 | Popular Tags |