/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.core.util; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import org.teiid.designer.metadata.runtime.ColumnRecord; import org.teiid.designer.metadata.runtime.ColumnRecordComparator; import org.teiid.designer.metadata.runtime.impl.ColumnRecordImpl; import junit.extensions.TestSetup; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; /** * TestColumnRecordComparator */ public class TestColumnRecordComparator extends TestCase { /** * Constructor for TestCompositeMappingAdapter. * * @param name */ public TestColumnRecordComparator( String name ) { super(name); } /** * Test suite, with one-time setup. */ public static Test suite() { TestSuite suite = new TestSuite("TestColumnRecordComparator"); //$NON-NLS-1$ suite.addTestSuite(TestColumnRecordComparator.class); // One-time setup and teardown return new TestSetup(suite) { @Override public void setUp() { } @Override public void tearDown() { } }; } public void testNullArguments() { ColumnRecordComparator comparator = new ColumnRecordComparator(); try { comparator.compare(null, null); } catch (NullPointerException e) { // Expected Result return; } fail("Expected to fail with NullPointerException"); //$NON-NLS-1$ } public void testComparatorEquals() { ColumnRecordComparator comparator1 = new ColumnRecordComparator(); ColumnRecordComparator comparator2 = new ColumnRecordComparator(); assertFalse(comparator1.equals(comparator2)); } public void testEquals() { ColumnRecordComparator comparator = new ColumnRecordComparator(); ColumnRecordImpl rec1 = new ColumnRecordImpl(); rec1.setPosition(1); ColumnRecordImpl rec2 = new ColumnRecordImpl(); rec2.setPosition(1); assertEquals(comparator.compare(rec1, rec2), 0); } public void testLessThan() { ColumnRecordComparator comparator = new ColumnRecordComparator(); ColumnRecordImpl rec1 = new ColumnRecordImpl(); rec1.setPosition(1); ColumnRecordImpl rec2 = new ColumnRecordImpl(); rec2.setPosition(2); assertEquals(comparator.compare(rec1, rec2), -1); } public void testGreaterThan() { ColumnRecordComparator comparator = new ColumnRecordComparator(); ColumnRecordImpl rec1 = new ColumnRecordImpl(); rec1.setPosition(2); ColumnRecordImpl rec2 = new ColumnRecordImpl(); rec2.setPosition(1); assertEquals(comparator.compare(rec1, rec2), 1); } public void testSort() { ColumnRecordComparator comparator = new ColumnRecordComparator(); ArrayList list = new ArrayList(); ColumnRecordImpl rec1 = new ColumnRecordImpl(); rec1.setPosition(2); list.add(rec1); ColumnRecordImpl rec2 = new ColumnRecordImpl(); rec2.setPosition(1); list.add(rec2); ColumnRecordImpl rec3 = new ColumnRecordImpl(); rec3.setPosition(3); list.add(rec3); Collections.sort(list, comparator); Iterator iter = list.iterator(); while (iter.hasNext()) { ColumnRecord recd = (ColumnRecord)iter.next(); System.out.println(recd.getPosition()); } } }