/** * Returns a list iterator over the elements in this sequence (in proper * sequence). * * @return a list iterator over the elements in this list (in proper * sequence) */ public default ListIterator<T> listIterator() { return asList().listIterator(); }
@Test public void toListChange() { final MSeq<Integer> mseq = newSeq(20); final ISeq<Integer> iseq1 = mseq.toISeq(); final List<Integer> list = mseq.asList(); list.set(0, 300); final ISeq<Integer> iseq2 = mseq.toISeq(); Assert.assertNotEquals(iseq1, iseq2, "ISeq instances must not be equal."); }
@Test public void empty() { Assert.assertNotNull(MSeq.EMPTY); Assert.assertNotNull(MSeq.empty()); Assert.assertSame(MSeq.EMPTY, MSeq.empty()); Assert.assertEquals(MSeq.EMPTY.length(), 0); Assert.assertEquals(MSeq.empty().asList().size(), 0); }
@Test public void ofIntegerLength() { final PermutationChromosome<Integer> c = PermutationChromosome.ofInteger(100); final MSeq<Integer> genes = c.getValidAlleles().copy(); Collections.sort(genes.asList()); for (int i = 0; i < c.length(); ++i) { Assert.assertEquals(genes.get(i).intValue(), i); } }
@Test public void ofIntegerStartEnd() { final PermutationChromosome<Integer> c = PermutationChromosome.ofInteger(100, 200); final MSeq<Integer> genes = c.getValidAlleles().copy(); Collections.sort(genes.asList()); for (int i = 0; i < c.length(); ++i) { Assert.assertEquals(genes.get(i).intValue(), i + 100); } }
@Test public void asList() { final long seed = random.seed(); final Random random = new Random(seed); final MSeq<Integer> seq = newSeq(1000); for (int i = 0; i < seq.length(); ++i) { seq.set(i, random.nextInt()); } final List<Integer> list = seq.asList(); random.setSeed(seed); for (int i = 0; i < seq.length(); ++i) { list.set(i, random.nextInt()); } random.setSeed(seed); for (int i = 0; i < seq.length(); ++i) { Assert.assertEquals(list.get(i).intValue(), random.nextInt()); } random.setSeed(seed); for (int i = 0; i < seq.length(); ++i) { Assert.assertEquals(seq.get(i).intValue(), random.nextInt()); } }