001/* 002 * $Id: TermOrderOptimizationTest.java 3789 2011-10-01 18:54:43Z kredel $ 003 */ 004 005package edu.jas.poly; 006 007import java.util.List; 008import java.util.ArrayList; 009 010import junit.framework.Test; 011import junit.framework.TestCase; 012import junit.framework.TestSuite; 013 014import org.apache.log4j.BasicConfigurator; 015 016/** 017 * TermOrderOptimization tests with JUnit. 018 * @author Heinz Kredel 019 */ 020 021public class TermOrderOptimizationTest extends TestCase { 022 023 024 /** 025 * main. 026 */ 027 public static void main (String[] args) { 028 BasicConfigurator.configure(); 029 junit.textui.TestRunner.run( suite() ); 030 } 031 032 033 /** 034 * Constructs a <CODE>TermOrderOptimizationTest</CODE> object. 035 * @param name String. 036 */ 037 public TermOrderOptimizationTest(String name) { 038 super(name); 039 } 040 041 042 /** 043 * suite. 044 */ 045 public static Test suite() { 046 TestSuite suite= new TestSuite(TermOrderOptimizationTest.class); 047 return suite; 048 } 049 050 051 protected void setUp() { 052 } 053 054 055 protected void tearDown() { 056 } 057 058 059 /** 060 * Test permutations. 061 */ 062 public void testPermutation() { 063 064 List<Integer> P = new ArrayList<Integer>(); 065 P.add(2); 066 P.add(1); 067 P.add(4); 068 P.add(0); 069 P.add(3); 070 //System.out.println("P = " + P); 071 072 List<Integer> S = TermOrderOptimization.inversePermutation(P); 073 //System.out.println("S = " + S); 074 assertFalse("P != id", TermOrderOptimization.isIdentityPermutation(P)); 075 assertFalse("S != id", TermOrderOptimization.isIdentityPermutation(S)); 076 077 List<Integer> T = TermOrderOptimization.multiplyPermutation(P,S); 078 //System.out.println("T = " + T); 079 List<Integer> U = TermOrderOptimization.multiplyPermutation(S,P); 080 //System.out.println("U = " + U); 081 082 assertTrue("T == id", TermOrderOptimization.isIdentityPermutation(T)); 083 assertTrue("U == id", TermOrderOptimization.isIdentityPermutation(U)); 084 } 085 086}