1 package test.prefuse.visual; 2 3 import java.util.Iterator ; 4 5 import junit.framework.TestCase; 6 import prefuse.Visualization; 7 import prefuse.visual.AggregateTable; 8 import prefuse.visual.VisualItem; 9 import prefuse.visual.VisualTable; 10 import test.prefuse.data.TableTest; 11 12 public class VisualAggregateTableTest extends TestCase { 13 14 private AggregateTable m_agg; 15 private VisualTable m_items; 16 17 protected void setUp() throws Exception { 18 Visualization v = new Visualization(); 19 m_items = v.addTable("items", TableTest.getTestCaseTable()); 20 21 m_agg = v.addAggregates("aggregates", VisualItem.SCHEMA); 22 m_agg.addRow(); 23 m_agg.addRow(); 24 25 Iterator iter = m_items.tuples(); 26 for ( int i=0, count=m_items.getRowCount(); iter.hasNext(); ++i ) { 27 VisualItem item = (VisualItem)iter.next(); 28 int j = i<count/2 ? 0 : 1; 29 m_agg.addToAggregate(j, item); 30 } 31 } 32 33 protected void tearDown() throws Exception { 34 m_items = null; 35 m_agg = null; 36 } 37 38 41 public void testGetAggregateSize() { 42 int cc = m_items.getRowCount(); 43 int s1 = cc/2, s2 = cc-s1; 44 assertEquals(s1, m_agg.getAggregateSize(0)); 45 assertEquals(s2, m_agg.getAggregateSize(1)); 46 } 47 48 51 public void testAddToAggregate() { 52 VisualItem t = m_items.getItem(0); 53 int size = m_agg.getAggregateSize(1); 54 assertFalse(m_agg.aggregateContains(1, t)); 55 m_agg.addToAggregate(1, t); 56 assertTrue(m_agg.aggregateContains(1, t)); 57 assertEquals(size+1, m_agg.getAggregateSize(1)); 58 } 59 60 63 public void testRemoveFromAggregate() { 64 int s = m_agg.getAggregateSize(0); 65 66 assertTrue(m_agg.aggregateContains(0, m_items.getItem(0))); 67 m_agg.removeFromAggregate(0, m_items.getItem(0)); 68 assertFalse(m_agg.aggregateContains(0, m_items.getItem(0))); 69 assertEquals(--s, m_agg.getAggregateSize(0)); 70 71 assertTrue(m_agg.aggregateContains(0, m_items.getItem(1))); 72 m_agg.removeFromAggregate(0, m_items.getItem(1)); 73 assertFalse(m_agg.aggregateContains(0, m_items.getItem(1))); 74 assertEquals(--s, m_agg.getAggregateSize(0)); 75 } 76 77 public void testRemoveFromAggregateUnderIteration() { 78 int s = m_agg.getAggregateSize(0); 79 Iterator iter = m_agg.aggregatedTuples(0); 80 while ( iter.hasNext() ) { 81 VisualItem t = (VisualItem)iter.next(); 82 assertTrue(m_agg.aggregateContains(0, t)); 83 m_agg.removeFromAggregate(0, t); 84 assertEquals(--s, m_agg.getAggregateSize(0)); 85 assertFalse(m_agg.aggregateContains(0, t)); 86 } 87 } 88 89 92 public void testRemoveAllFromAggregate() { 93 m_agg.removeAllFromAggregate(0); 94 m_agg.removeAllFromAggregate(1); 95 assertEquals(0, m_agg.getAggregateSize(0)); 96 assertEquals(0, m_agg.getAggregateSize(1)); 97 } 98 99 102 public void testAggregateContains() { 103 VisualItem vi0 = m_items.getItem(0); 104 VisualItem vi1 = m_items.getItem(m_items.getRowCount()-1); 105 assertTrue(m_agg.aggregateContains(0, vi0)); 106 assertTrue(m_agg.aggregateContains(1, vi1)); 107 } 108 109 112 public void testAggregatedTuples() { 113 int s = m_agg.getAggregateSize(0); 114 Iterator iter = m_agg.aggregatedTuples(0); 115 int count = 0; 116 for ( ; iter.hasNext(); ++count ) { 117 VisualItem t = (VisualItem)iter.next(); 118 assertTrue(m_agg.aggregateContains(0, t)); 119 } 120 assertEquals(s, count); 121 } 122 123 126 public void testGetAggregates() { 127 for ( int i=0; i<2; ++i ) { 128 Iterator iter = m_agg.aggregatedTuples(0); 129 while ( iter.hasNext() ) { 130 VisualItem t = (VisualItem)iter.next(); 131 Iterator aggr = m_agg.getAggregates(t); 132 assertEquals(m_agg.getTuple(0), aggr.next()); 133 } 134 } 135 } 136 137 } 138 | Popular Tags |