예제 #1
0
        public void testGetIndex()
        {
            JDFRunList rlp = (JDFRunList)rl.addPartition(EnumPartIDKey.Run, "r1");

            rlp.setPages(new JDFIntegerRangeList("1 3 5 7"));
            Assert.AreEqual(0, rlp.getFirstIndex(), "first partition starts at 0");
            Assert.AreEqual(3, rlp.getLastIndex());
            rlp.setNPage(3);
            Assert.AreEqual(0, rlp.getFirstIndex());
            Assert.AreEqual(2, rlp.getLastIndex());
            JDFRunList rlp2 = (JDFRunList)rl.addPartition(EnumPartIDKey.Run, "r2");

            rlp2.setPages(new JDFIntegerRangeList("0 2 4 6"));
            Assert.AreEqual(3, rlp2.getFirstIndex());
            Assert.AreEqual(6, rlp2.getLastIndex());
            rlp2.setNPage(2);
            Assert.AreEqual(3, rlp2.getFirstIndex());
            Assert.AreEqual(4, rlp2.getLastIndex());
            JDFRunList rlp3 = (JDFRunList)rl.addPartition(EnumPartIDKey.Run, "r3");

            rlp2.setLogicalPage(11);
            rlp3.setPages(new JDFIntegerRangeList("0 2 4 6"));
            Assert.AreEqual(13, rlp3.getFirstIndex());
            Assert.AreEqual(16, rlp3.getLastIndex());
            rlp3.setNPage(2);
            rlp3.setLogicalPage(22);
            Assert.AreEqual(22, rlp3.getFirstIndex());
            Assert.AreEqual(23, rlp3.getLastIndex());
        }
예제 #2
0
        public void testGetPageInFile()
        {
            JDFRunList rlp = (JDFRunList)rl.addPartition(EnumPartIDKey.Run, "r1");

            rlp.setPages(new JDFIntegerRangeList("1 3 5 7"));
            Assert.AreEqual(1, rlp.getPageInFile(0));
            Assert.AreEqual(3, rlp.getPageInFile(1));
            Assert.AreEqual(7, rlp.getPageInFile(3));
            rlp.setNPage(3);
            Assert.AreEqual(-1, rlp.getPageInFile(3));
            JDFRunList rlp2 = (JDFRunList)rl.addPartition(EnumPartIDKey.Run, "r2");

            rlp2.setPages(new JDFIntegerRangeList("0 2 4 6"));
            Assert.AreEqual(-1, rlp2.getPageInFile(0));
            Assert.AreEqual(0, rlp2.getPageInFile(3));
            Assert.AreEqual(4, rlp2.getPageInFile(5));
            Assert.AreEqual(6, rlp2.getPageInFile(6));
            rlp2.setNPage(3);
            Assert.AreEqual(-1, rlp2.getPageInFile(6));
            rlp2.setNPage(4);
            Assert.AreEqual(6, rlp2.getPageInFile(6));
        }
예제 #3
0
        public void testGetIndexPartition()
        {
            JDFRunList rlp = (JDFRunList)rl.addPartition(EnumPartIDKey.Run, "r1");

            rlp.setPages(new JDFIntegerRangeList("1 3 5 7"));
            Assert.AreEqual(rlp, rl.getIndexPartition(0));
            Assert.AreEqual(rlp, rl.getIndexPartition(3));
            rlp.setNPage(3);
            JDFRunList rlp2 = (JDFRunList)rl.addPartition(EnumPartIDKey.Run, "r2");

            rlp2.setPages(new JDFIntegerRangeList("0 2 4 6"));
            Assert.AreEqual(rlp2, rl.getIndexPartition(3));
            Assert.AreEqual(rlp2, rl.getIndexPartition(6));
            Assert.IsNull(rl.getIndexPartition(7));
        }
예제 #4
0
        public void testPageIterator()
        {
            JDFRunList rlp = (JDFRunList)rl.addPartition(EnumPartIDKey.Run, "r1");

            rlp.setPages(new JDFIntegerRangeList("1 3 5 7"));
            rlp.setNPage(3);
            JDFRunList rlp2 = (JDFRunList)rl.addPartition(EnumPartIDKey.Run, "r2");

            rlp2.setPages(new JDFIntegerRangeList("0 2 4 6"));
            IEnumerator it = rl.getPageIterator();
            int         n  = 0;

            while (it.MoveNext())
            {
                JDFRunData ri = (JDFRunData)it.Current;
                Assert.AreEqual(ri.getRunIndex(), n);
                Assert.AreEqual(ri.getRunList(), n < 3 ? rlp : rlp2);
                n++;
            }
            Assert.AreEqual(7, n);
        }