X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2FVisibleRowsIteratorTest.java;fp=test%2Fjalview%2Fdatamodel%2FVisibleRowsIteratorTest.java;h=0000000000000000000000000000000000000000;hb=4f77328104498504339216829abf5ea87e2791ec;hp=4a021c5623f5b7586fad03b80c7638134ade8ae9;hpb=2b8c0785318a3528e1876e8e2dd48b7d831eae69;p=jalview.git diff --git a/test/jalview/datamodel/VisibleRowsIteratorTest.java b/test/jalview/datamodel/VisibleRowsIteratorTest.java deleted file mode 100644 index 4a021c5..0000000 --- a/test/jalview/datamodel/VisibleRowsIteratorTest.java +++ /dev/null @@ -1,233 +0,0 @@ -/* - * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) - * Copyright (C) $$Year-Rel$$ The Jalview Authors - * - * This file is part of Jalview. - * - * Jalview is free software: you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation, either version 3 - * of the License, or (at your option) any later version. - * - * Jalview is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR - * PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Jalview. If not, see . - * The Jalview Authors are detailed in the 'AUTHORS' file. - */ -package jalview.datamodel; - -import static org.testng.Assert.assertTrue; - -import jalview.analysis.AlignmentGenerator; - -import java.util.Hashtable; -import java.util.NoSuchElementException; - -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -public class VisibleRowsIteratorTest -{ - AlignmentI al; - - AlignmentI al2; - - AlignmentI al3; - - Hashtable hiddenRepSequences = new Hashtable(); - - Hashtable hiddenRepSequences2 = new Hashtable(); - - @BeforeClass(groups = { "Functional" }) - public void setup() - { - // create random alignment - AlignmentGenerator gen = new AlignmentGenerator(false); - al = gen.generate(20, 15, 123, 5, 5); - if (!hiddenRepSequences.isEmpty()) - { - al.getHiddenSequences().showAll(hiddenRepSequences); - } - hideSequences(al, hiddenRepSequences, 2, 4); - - al2 = gen.generate(20, 15, 123, 5, 5); - if (!hiddenRepSequences2.isEmpty()) - { - al2.getHiddenSequences().showAll(hiddenRepSequences2); - } - hideSequences(al2, hiddenRepSequences2, 0, 2); - - al3 = gen.generate(20, 15, 123, 5, 5); - } - - /* - * Test iterator iterates correctly through the rows - * when alignment has hidden rows - */ - @Test(groups = { "Functional" }) - public void testHasNextAndNextWithHidden() - { - VisibleRowsIterator it = new VisibleRowsIterator(0, 6, al); - int count = 0; - while (it.hasNext()) - { - it.next(); - count++; - } - assertTrue(count == 4, "hasNext() is false after 4 iterations"); - } - - /* - * Test iterator iterates correctly through the rows - * when alignment has no hidden rows - */ - @Test(groups = { "Functional" }) - public void testHasNextAndNextNoHidden() - { - VisibleRowsIterator it = new VisibleRowsIterator(0, 3, al3); - int count = 0; - while (it.hasNext()) - { - it.next(); - count++; - } - assertTrue(count == 4, "hasNext() is false after 4 iterations"); - } - - /* - * Test iterator iterates correctly through the rows - * when alignment has hidden rows at start - */ - @Test(groups = { "Functional" }) - public void testHasNextAndNextStartHidden() - { - VisibleRowsIterator it = new VisibleRowsIterator(0, 6, al2); - int count = 0; - while (it.hasNext()) - { - it.next(); - count++; - } - assertTrue(count == 4, "hasNext() is false after 4 iterations"); - } - - /* - * Test iterator iterates correctly through the rows - * when alignment has hidden rows at end - */ - @Test(groups = { "Functional" }) - public void testHasNextAndNextEndHidden() - { - VisibleRowsIterator it = new VisibleRowsIterator(0, 4, al); - int count = 0; - while (it.hasNext()) - { - it.next(); - count++; - } - assertTrue(count == 2, "hasNext() is false after 2 iterations"); - } - - /* - * Test iterator always throws NoSuchElementException at end of iteration - * when alignment has hidden rows - */ - @Test( - groups = { "Functional" }, - expectedExceptions = { NoSuchElementException.class }) - public void testLastNextWithHidden() throws NoSuchElementException - { - VisibleRowsIterator it = new VisibleRowsIterator(0, 3, al); - while (it.hasNext()) - { - it.next(); - } - it.next(); - } - - /* - * Test iterator always throws NoSuchElementException at end of iteration - * when alignment has no hidden rows - */ - @Test( - groups = { "Functional" }, - expectedExceptions = { NoSuchElementException.class }) - public void testLastNextNoHidden() throws NoSuchElementException - { - VisibleRowsIterator it = new VisibleRowsIterator(0, 3, al3); - while (it.hasNext()) - { - it.next(); - } - it.next(); - } - - /* - * Test iterator always throws NoSuchElementException at end of iteration - * when alignment has hidden rows at start - */ - @Test( - groups = { "Functional" }, - expectedExceptions = { NoSuchElementException.class }) - public void testLastNextStartHidden() throws NoSuchElementException - { - VisibleRowsIterator it = new VisibleRowsIterator(0, 3, al2); - while (it.hasNext()) - { - it.next(); - } - it.next(); - } - - /* - * Test iterator always throws NoSuchElementException at end of iteration - * when alignment has hidden rows at end - */ - @Test( - groups = { "Functional" }, - expectedExceptions = { NoSuchElementException.class }) - public void testLastNextEndHidden() throws NoSuchElementException - { - VisibleRowsIterator it = new VisibleRowsIterator(0, 4, al); - while (it.hasNext()) - { - it.next(); - } - it.next(); - } - - /* - * Test calls to remove throw UnsupportedOperationException - */ - @Test( - groups = { "Functional" }, - expectedExceptions = { UnsupportedOperationException.class }) - public void testRemove() throws UnsupportedOperationException - { - VisibleRowsIterator it = new VisibleRowsIterator(0, 3, al); - it.remove(); - } - - /* - * Hide sequences between start and end - */ - private void hideSequences(AlignmentI alignment, - Hashtable hiddenRepSequences, - int start, int end) - { - SequenceI[] allseqs = alignment.getSequencesArray(); - SequenceGroup theseSeqs = new SequenceGroup(); - - for (int i = start; i <= end; i++) - { - theseSeqs.addSequence(allseqs[i], false); - alignment.getHiddenSequences().hideSequence(allseqs[i]); - } - - hiddenRepSequences.put(allseqs[start], theseSeqs); - } -}