001: /*
002: * SortDefinitionTest.java
003: *
004: * This file is part of SQL Workbench/J, http://www.sql-workbench.net
005: *
006: * Copyright 2002-2008, Thomas Kellerer
007: * No part of this code maybe reused without the permission of the author
008: *
009: * To contact the author please send an email to: support@sql-workbench.net
010: *
011: */
012: package workbench.storage;
013:
014: import junit.framework.TestCase;
015:
016: /**
017: *
018: * @author support@sql-workbench.net
019: */
020: public class SortDefinitionTest extends TestCase {
021: public SortDefinitionTest(String testName) {
022: super (testName);
023: }
024:
025: public void testRemoveColumn() {
026: try {
027: SortDefinition sort = new SortDefinition();
028: sort.addSortColumn(5, true);
029: sort.addSortColumn(7, false);
030: sort.addSortColumn(8, true);
031: assertEquals(3, sort.getColumnCount());
032:
033: sort.removeSortColumn(7);
034: assertEquals(2, sort.getColumnCount());
035:
036: // Check to remove non-existing column
037: sort.removeSortColumn(2558);
038: assertEquals(2, sort.getColumnCount());
039:
040: int col = sort.getSortColumnByIndex(0);
041: assertEquals(5, col);
042:
043: col = sort.getSortColumnByIndex(1);
044: assertEquals(8, col);
045: assertTrue(sort.isSortAscending(5));
046: assertTrue(sort.isSortAscending(8));
047:
048: sort.setSortColumn(13, true);
049: assertEquals(1, sort.getColumnCount());
050: sort.addSortColumn(7, true);
051: sort.addSortColumn(8, true);
052:
053: sort.removeSortColumn(13);
054: assertEquals(2, sort.getColumnCount());
055: assertTrue(sort.isPrimarySortColumn(7));
056: } catch (Exception e) {
057: e.printStackTrace();
058: fail(e.getMessage());
059: }
060: }
061:
062: public void testCreateCopy() {
063: SortDefinition sort = new SortDefinition();
064: SortDefinition copy = sort.createCopy();
065: assertEquals(sort, copy);
066: assertEquals(sort.getColumnCount(), copy.getColumnCount());
067:
068: sort = new SortDefinition(2, true);
069: copy = sort.createCopy();
070: assertEquals(sort, copy);
071: assertEquals(sort.getColumnCount(), copy.getColumnCount());
072: assertTrue(copy.isPrimarySortColumn(2));
073: assertTrue(sort.isPrimarySortColumn(2));
074:
075: assertTrue(copy.isSortAscending(2));
076: assertTrue(sort.isSortAscending(2));
077:
078: sort = new SortDefinition(new int[] { 7, 11 }, new boolean[] {
079: false, true });
080: copy = sort.createCopy();
081: assertEquals(sort, copy);
082: assertEquals(sort.getColumnCount(), copy.getColumnCount());
083: assertTrue(copy.isPrimarySortColumn(7));
084: assertTrue(sort.isPrimarySortColumn(7));
085:
086: assertTrue(copy.isSortAscending(11));
087: assertTrue(sort.isSortAscending(11));
088:
089: assertFalse(copy.isSortAscending(7));
090: assertFalse(sort.isSortAscending(7));
091:
092: for (int i = 0; i < copy.getColumnCount(); i++) {
093: if (i == 0)
094: assertEquals(7, copy.getSortColumnByIndex(i));
095: if (i == 1)
096: assertEquals(11, copy.getSortColumnByIndex(i));
097: }
098: }
099:
100: public void testSort() {
101: SortDefinition sort = new SortDefinition();
102: sort.setSortColumn(3, true);
103: assertTrue(sort.isSortAscending(3));
104:
105: sort.addSortColumn(4, false);
106: assertEquals(2, sort.getColumnCount());
107:
108: assertFalse(sort.isSortAscending(4));
109: assertTrue(sort.isSortAscending(3));
110: assertTrue(sort.isPrimarySortColumn(3));
111: assertFalse(sort.isPrimarySortColumn(4));
112: }
113:
114: }
|