1 25 38 package org.jgrapht.experimental.equivalence; 39 40 import java.util.*; 41 42 import junit.framework.*; 43 44 import org.jgrapht.experimental.isomorphism.comparators.*; 45 46 47 51 public class EquivalenceGroupCreatorTest 52 extends TestCase 53 { 54 55 57 final int INTEGER_ARRAY_SIZE = 25; 59 60 62 65 protected void setUp() 66 throws Exception 67 { 68 super.setUp(); 69 } 70 71 public void testUniformGroup() 72 { 73 testOneComparator(new UniformEquivalenceComparator(), 1); 75 76 testOneComparator( 78 new org.jgrapht.experimental.isomorphism.comparators.Mod3GroupComparator(), 79 3); 80 } 81 82 public void testOddEvenGroup() 83 { 84 testOneComparator( 87 new org.jgrapht.experimental.isomorphism.comparators.OddEvenGroupComparator(), 88 2); 89 90 testOneComparator( 92 new org.jgrapht.experimental.isomorphism.comparators.Mod3GroupComparator(), 93 3); 94 } 95 96 103 public void testComparatorChain() 104 { 105 EquivalenceComparatorChain<Integer , Object > comparatorChain = 106 new EquivalenceComparatorChainBase<Integer , Object >( 107 new OddEvenGroupComparator()); 108 comparatorChain.appendComparator(new Mod3GroupComparator()); 109 110 testOneComparator( 119 comparatorChain, 120 6); 121 } 122 123 @SuppressWarnings ("unchecked") 124 public void testComparatorChainSameComparatorTwice() 125 { 126 EquivalenceComparatorChain comparatorChain = 127 new EquivalenceComparatorChainBase(new OddEvenGroupComparator()); 128 comparatorChain.appendComparator(new UniformEquivalenceComparator()); 129 comparatorChain.appendComparator(new OddEvenGroupComparator()); 130 131 testOneComparator( 133 comparatorChain, 134 2); 135 } 136 137 @SuppressWarnings ("unchecked") 138 private void testOneComparator( 139 EquivalenceComparator comparator, 140 int expectedNumOfGroups) 141 { 142 ArrayList<Integer > integerArray = 143 new ArrayList<Integer >(INTEGER_ARRAY_SIZE); 144 for (int i = 0; i < INTEGER_ARRAY_SIZE; i++) { 145 integerArray.add(i); 146 } 147 148 EquivalenceSet [] eqGroupArray = 149 EquivalenceSetCreator.createEqualityGroupOrderedArray( 150 integerArray, 151 comparator, 152 null); 153 assertEquals(expectedNumOfGroups, eqGroupArray.length); 154 155 for (int i = 1; i < eqGroupArray.length; i++) { 157 EquivalenceSet set = eqGroupArray[i]; 158 assertTrue(set.size() >= eqGroupArray[i - 1].size()); 159 } 160 } 169 } 170 | Popular Tags |